Upload
mouli-bhattacharya
View
2.533
Download
34
Embed Size (px)
Citation preview
copy 2012 WIPRO LTD | WWWWIPROCOM1
webMethods CoE Designer Training
Puneet Saxena
Integration Architect
copy 2012 WIPRO LTD | WWWWIPROCOM2
Introduction to Designer
Table of Contents
Document Types
Flow Services
Mapping
Java Services
Monitoring Services
Flat File Handling
Web Services
JDBC Adapter
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM3
Introduction to Designer
copy 2012 WIPRO LTD | WWWWIPROCOM4
Objectives
bull At the end of this section you will be able tondash Understand various perspectives in designerndash Basic webMethods configurationsndash Explain various properties
copy 2012 WIPRO LTD | WWWWIPROCOM5
Designer
bull Designer is an integrated Eclipse-based design environment providing powerful and comprehensive features that enables to model develop and maintain enterprise-wide business processes and applications build ESB projects and SOA implementations Software AG Designer is also fully integrated with many runtime servers like My webMethods Server ESB EntireX ApplinX Tamino CentraSite and Natural to provide visibility management and debugging capabilities to the end user in a single tool
copy 2012 WIPRO LTD | WWWWIPROCOM6
bull Business analysts and developers work in this environment to design and create process models user interfaces task applications and Web applications
bull Developers can build both webMethods ESB services as well as standard Web services to provide customized solutions to support business process management SOA initiatives and integration projects
bull Application developers work in this environment to create and maintain NaturalONE applications and services with Web-based user interfaces SQL-based access to relational and non-relational data sources
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM2
Introduction to Designer
Table of Contents
Document Types
Flow Services
Mapping
Java Services
Monitoring Services
Flat File Handling
Web Services
JDBC Adapter
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM3
Introduction to Designer
copy 2012 WIPRO LTD | WWWWIPROCOM4
Objectives
bull At the end of this section you will be able tondash Understand various perspectives in designerndash Basic webMethods configurationsndash Explain various properties
copy 2012 WIPRO LTD | WWWWIPROCOM5
Designer
bull Designer is an integrated Eclipse-based design environment providing powerful and comprehensive features that enables to model develop and maintain enterprise-wide business processes and applications build ESB projects and SOA implementations Software AG Designer is also fully integrated with many runtime servers like My webMethods Server ESB EntireX ApplinX Tamino CentraSite and Natural to provide visibility management and debugging capabilities to the end user in a single tool
copy 2012 WIPRO LTD | WWWWIPROCOM6
bull Business analysts and developers work in this environment to design and create process models user interfaces task applications and Web applications
bull Developers can build both webMethods ESB services as well as standard Web services to provide customized solutions to support business process management SOA initiatives and integration projects
bull Application developers work in this environment to create and maintain NaturalONE applications and services with Web-based user interfaces SQL-based access to relational and non-relational data sources
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM3
Introduction to Designer
copy 2012 WIPRO LTD | WWWWIPROCOM4
Objectives
bull At the end of this section you will be able tondash Understand various perspectives in designerndash Basic webMethods configurationsndash Explain various properties
copy 2012 WIPRO LTD | WWWWIPROCOM5
Designer
bull Designer is an integrated Eclipse-based design environment providing powerful and comprehensive features that enables to model develop and maintain enterprise-wide business processes and applications build ESB projects and SOA implementations Software AG Designer is also fully integrated with many runtime servers like My webMethods Server ESB EntireX ApplinX Tamino CentraSite and Natural to provide visibility management and debugging capabilities to the end user in a single tool
copy 2012 WIPRO LTD | WWWWIPROCOM6
bull Business analysts and developers work in this environment to design and create process models user interfaces task applications and Web applications
bull Developers can build both webMethods ESB services as well as standard Web services to provide customized solutions to support business process management SOA initiatives and integration projects
bull Application developers work in this environment to create and maintain NaturalONE applications and services with Web-based user interfaces SQL-based access to relational and non-relational data sources
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM4
Objectives
bull At the end of this section you will be able tondash Understand various perspectives in designerndash Basic webMethods configurationsndash Explain various properties
copy 2012 WIPRO LTD | WWWWIPROCOM5
Designer
bull Designer is an integrated Eclipse-based design environment providing powerful and comprehensive features that enables to model develop and maintain enterprise-wide business processes and applications build ESB projects and SOA implementations Software AG Designer is also fully integrated with many runtime servers like My webMethods Server ESB EntireX ApplinX Tamino CentraSite and Natural to provide visibility management and debugging capabilities to the end user in a single tool
copy 2012 WIPRO LTD | WWWWIPROCOM6
bull Business analysts and developers work in this environment to design and create process models user interfaces task applications and Web applications
bull Developers can build both webMethods ESB services as well as standard Web services to provide customized solutions to support business process management SOA initiatives and integration projects
bull Application developers work in this environment to create and maintain NaturalONE applications and services with Web-based user interfaces SQL-based access to relational and non-relational data sources
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM5
Designer
bull Designer is an integrated Eclipse-based design environment providing powerful and comprehensive features that enables to model develop and maintain enterprise-wide business processes and applications build ESB projects and SOA implementations Software AG Designer is also fully integrated with many runtime servers like My webMethods Server ESB EntireX ApplinX Tamino CentraSite and Natural to provide visibility management and debugging capabilities to the end user in a single tool
copy 2012 WIPRO LTD | WWWWIPROCOM6
bull Business analysts and developers work in this environment to design and create process models user interfaces task applications and Web applications
bull Developers can build both webMethods ESB services as well as standard Web services to provide customized solutions to support business process management SOA initiatives and integration projects
bull Application developers work in this environment to create and maintain NaturalONE applications and services with Web-based user interfaces SQL-based access to relational and non-relational data sources
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM6
bull Business analysts and developers work in this environment to design and create process models user interfaces task applications and Web applications
bull Developers can build both webMethods ESB services as well as standard Web services to provide customized solutions to support business process management SOA initiatives and integration projects
bull Application developers work in this environment to create and maintain NaturalONE applications and services with Web-based user interfaces SQL-based access to relational and non-relational data sources
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM7
Workspace Workbench And Perspectives
bull The workspace is the directory where all the work will be stored It can be stored anywhere in the local system just select a path and give a name
bull Workbench refers to the desktop development environment The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation management and navigation of workspace resources Each Workbench window contains one or more perspectives
bull A perspective defines the initial set and layout of views in the Workbench window It also provides a set of functionality aimed at accomplishing a specific type of task or working with a specific type of resource Perspectives define visible action sets which can be changed to customize a perspective One or more perspectives can exist in a single Workbench window
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM8
bull To open a perspective
Click the Open Perspective button on the shortcut bar on the left side of the Workbench window (This provides the same function as the Window gt Open Perspective menu on the menu bar)
To see a complete list of perspectives select Other from the drop-down menu
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM9
Process Development Perspectives
bull Process Development perspective includes basic process design functionality and property information to allow the non-developer to create processes allows uploading processes for analysis only
bull Process Developer mode provides advanced configuration and property access to further define processes Business Analyst mode displays only basic properties in the Properties view basic preferences in the Preferences window and basic functions on the main toolbar
bull The Process Debugging perspective includes functionality that allows process debugging and also supports design and property information of the Process Development perspective allows uploading processes for analysis as well as building and uploading processes for execution
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM10
Process Projects Process Pools Swimlane
bull Process projects serve as the parent structures for Designer processes and their assets A single process project can contain one or more processes
bull A process is the top-level asset in a process project It contains steps and logic and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis
bull Pools are constructs that help organize process project A Designer process can have one internal pool and unlimited external pools
bull Swimlanes are subdivisions of pools Where a pool typically represents a single process swimlanes typically serve to further subdivide a process Each swimlane designates an actor which becomes a property inherited by all steps in the swimlane
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM11
Steps Subprocessesbull Create steps onto the process and connect them to create a process
Steps are categorized by what they do specified in their properties and also by their function in the process
bull Types of Stepsndash Activity Stepsndash Receive Stepsndash Reply Stepsndash Adapter Notification (AN) Stepsndash Publish Stepsndash Terminate Stepsndash Gateway Steps
bull A subprocess is not a self-contained process It can exist only inside its parent process A subprocess is a group of steps in a container and is treated as a step in the process
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM12
Step Inputs and Outputs
bull Each step in a process has information that flows into and out of it Information flowing into a step is called input and information flowing out of a step is called output
bull Process data assigned in Designer to flow in and out of steps needs to be mapped to physical data that the underlying services require in order for the process to execute
bull Step inputs and outputs are used to define flow signatures branching and looping logic in the process data logging for examination at run time and KPIs
bull Data can enter the process in two waysndash In a receive step a subscription document can trigger or join the
process and output data for that step and into the pipeline ndash In an activity step the step can output new process data into the
pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM13
Step Transitionbull Transitions indicate the flow of control in the process being passed from one
step to another Specialized transition types as well as splits and branches are permitted from each step These transitions each have a label and a description that are distinct from the condition itself
bull Transition conditions are based on logical data rather than physical data and can be specified in the Process Development perspective
bull Step transition typesndash Splitndash Branchndash Joinndash Join Timeout ndash If Conditionndash Elsendash Errorndash Timeoutndash Step Iterations Exceededndash Unsatisfied Join
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM14
Join Conditions Subscription Filters
bull Join conditions occur when a step has multiple input transitionsbull Join conditions can use AND OR or Unsynchronized OR
statements in their logicbull Complex join conditions by using a combination of NOTANDOR
Unsynchronized OR statements parentheses and multiple transitions to create a join string using each transitionrsquos source Label (step name) as the identifier can also be created
bull Subscription filters provide the option to limit which instances of a document are able to trigger or join a process based on the values of specific fields in the subscription document
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM15
Correlation Services
bull Correlation Services are used to allow external documents to join running process instances Each receive step that can start a new process instance has a Correlation Service property At least one receive step in a process must be designated Allow this step to start new process instance (a start step)
bull Correlation services are written in webMethods Developer or in the flow service editor in Designer and establish or match the correlation ID used by a process instance
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM16
Building and Uploading Processes
bull Enabling the Process Developer capability (using Process Developer mode) allows to build a process and upload it to the Process Audit database for execution Without the Process Developer capability (using Business Analyst mode) a process can be uploaded to the Process Audit Database for analysis only the process is not built and it cannot be executed
bull When a process is build Designer creates the elements that execute at run time based on the information in the process such as steps subscription filters transitions and conditions Designer then places these generated run-time elements on the Integration Server and uploads information about the process to the Process Audit Database
bull Each step in a process model is associated with a specific Integration Server Name Designer places the run-time elements associated with a step on the physical server that is mapped to the Integration Server Name for the step
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM17
Process Debugging and Process Simulation
bull Debugging a process involves running it with tools that allows to inspect the way it behaves with real data and to see how that data behaves as it travels through the pipeline
bull A debugging session requires that process starts with a receive step with an IS document input Process Debugging supports subscription simple service (Web service) and JMS receive protocols
bull The Process Simulation feature provides a mechanism to simulate processes and see details about how they run By simulating a process or multiple processes time energy and resources can be saved that might otherwise be misspent on deploying solutions that do not fit business needs
bull Simulation provides the opportunity for testing and tweaking processes in the design phase before they ever reach production or even a test environment
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM18
Different Perspectives
bull Java developmentbull Platform Plug-inbull JDT (Java Development Tooling) Plug-inbull Plug-in Developmentbull CentraSite Plug-insbull Data Tools Platform Plug-inbull Data Tools Platformbull Eclipse Modeling Framework (EMF)bull Web Tools Project bull webMethods CAF (Composite Architecture Framework)bull webMethods Task
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM19
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM20
Document Types
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM21
Objectives
bull At the end of this section you will be able tondash create Document Typesndash reference Document Types in the Pipelinendash discuss options for Document Type Validationndash Publish Subscribe documents to broker
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM22
IS Document Type
bull An IS document type contains a set of fields used to define the structure and type of data in a document (IData object) IS document type is used to specify input or output parameters for a service or specification An IS document type can also be used to build a document or document list field and use as the blueprint for pipeline validation and document (IData object) validation
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM23
bull IS document types can provide the following benefits ndash Using an IS document type as the input or output
signature for a service can reduce the effort required to build a flow
ndash Using an IS document type to build document or document list fields can reduce the effort needed to declare input or output parameters or the efforttime needed to build other document fields
ndash IS document types improve accuracy because there is less opportunity to introduce a typing error typing field names
ndash IS document types make future changes easier to implement because it helps to make a change in one place (the IS document type) rather than everywhere
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM24
Creating a Document Type
bull Create an empty IS document type and define the structure of the document type by inserting fields
bull Creating an IS Document Type from an XML Document DTD or XML Schema
bull Creating an IS Document Type from an E-form Template stored on the file system or in a content repository
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM25
Document Reference
bull An IS document type (including a publishable document type) can be used to build a document reference or document reference list field By referencing an IS document type instead of creating a new one it reduces the time required to create fields and maintain better consistency for field names Referencing fields especially useful for information that is repeated over and over again such as address information
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM26
Pipeline References
bull A pipeline reference is where a variable in a document reference or document reference list in Pipeline view is linked to another variable assigned a value or dropped
bull When an IS document type is edited the changes affect any document reference and document reference list variables defined by that IS document type The changes might make pipeline references invalid
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM27
Publishable Document Typesbull A publishable document type is a named schema-like definition that
describes the structure and publication properties of a particular kind of document Essentially a publishable document type is an IS document type with specified publication properties such as storage type and time-to-live
bull In a business process a published document can start or join a process
bull In a publication environment that includes a Broker each publishable document type is associated with a Broker document type Designer provides tools that can be used to ensure that these two document types remain synchronized
bull In an integration solution that uses the publish-and-subscribe model services publish instances of publishable document types and triggers subscribe to publishable document types A trigger specifies a service that the Integration Server invokes to process the document
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM28
Triggers
bull Brokerlocal triggers establish subscriptions to publishable document types and specifies how to process instances of those publishable document types
bull A condition associates one or more publishable document types with a single service
bull The publishable document type acts as the subscription piece of the Brokerlocal trigger The service is the processing piece When the Brokerlocal trigger receives documents to which it subscribes the Integration Server processes the document by invoking the service specified in the condition
bull Brokerlocal triggers can contain multiple conditions
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM29
Creating a Publishable Document Type
bull To create a publishable document type set publication properties for an IS document type Properties that can be set include specifying whether instances of the publishable document type should be saved in memory (volatile storage) or saved on disk (guaranteed storage) during processing and specifying how long instances of the publishable document type should remain on the Broker once they are published
bull If the Integration Server on which a session is connected to a Broker when an IS document type publishable is created Integration Server automatically creates a Broker document type and assigns the Broker document type a name This name corresponds to the following format wmisfolderNamedocumentTypeName If a document type with this name already exists on the Broker the Integration Server appends ldquo_1rdquo to the Broker document type name
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM30
bull If the Integration Server on which a session is not connected to a Broker the publishable document types that is created can be used only in local publishes That is instances of the publishable document types can only be published and subscribed to with in the same Integration Server
bull Designer creates a publishable document type automatically when using an e-form template as the source for the IS document type
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM31
About the Envelope Field
bull All publishable document types contain an envelope (_env) field This field is a document reference to the pubpublishenvelope document type The envelope is much like a header in an e-mail message The pubpublishenvelope document type defines the content and structure of the envelope that accompanies the published document The envelope records information such as the senderrsquos address the time the document was sent sequence numbers and other useful information for routing and control
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM32
Adapter Notifications and Publishable Document Types bull Adapter notifications determine whether an event has occurred on
the adapters resource and then sends the notification data to Integration Server in the form of a published document
bull Each adapter notification has an associated publishable document type When an adapter notification is created in Designer Integration Server automatically generates a corresponding publishable document type
bull Designer assigns the publishable document type the same name as the adapter notification but appends PublishDocument to the name
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM33
Document Type Validation
bull XML schemabull FlatFile Schemabull Document Type Definationbull Publishable Document Type
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM34
Validation
bull InputOutput Validation - In inputoutput validation the validation engine in webMethods Integration Server validates the inputs andor outputs of a service against the declared input and output parameters of the service
bull Document Validation - Validate an individual document (IData object) in the pipeline instead of the entire pipeline
bull Pipeline Validation - Pipeline validation is the process of verifying the contents of the pipeline against an IS document type
bull XML Validation - XML validation is the process of verifying the structure and content of an XML document against an IS schema
bull Validation within Java Service -
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM35
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM36
Flow Services
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM37
Objectives
bull At the end of this section you will be able tondash Describe the capabilities of webMethods Flow
bull Repeatbull Loopbull Branchbull Exitbull Sequence
ndash Try Catch Flow implementationndash Run your Flow servicesndash Debug your Flow Service
bull SavePipeline TracePipeline
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM38
Services
bull Services are method-like units of logic that operate on documents They are executed by Integration Server Services are build to carry out work such as extracting data from documents interacting with back-end resources and publishing documents to the Broker
bull Integration Server is installed with an extensive library of built-in services for performing common integration tasks Adapters and other add-on packages provide additional services that ca be used to interact with specific resources or applications webMethods graphical implementation language flow enables to quickly aggregate services into powerful sequences called flow services
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM39
Flow Service
bull A flow service is a service that is written in the webMethods flow language This simple yet powerful language encapsulate a sequence of services within a single service and manage the flow of data among them
bull Any service can be invoked within a flow (including other flow services)
bull Flow services created using Designer are saved in XML files on Integration Server
bull Although flow services are written as XML files they are maintained in a format that can only be created and understood by Designer and webMethods Developer Flow service cannot be created with a text editor
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM40
Flow Step and Pipeline
bull A flow service contains flow steps A flow step is a basic unit of work (expressed in the webMethods flow language) that webMethods Integration Server interprets and executes at run time The webMethods flow language provides flow steps that invoke services and flow steps that let allow to edit data in the pipeline
bull The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service It allows services in the flow to share data The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow When a service in the flow executes it has access to all data in the pipeline at that point
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM41
Control Steps
bull Control steps that allow to direct the execution of a flow service at run time The control steps allows to
Conditionally execute a specified sequence based on a field value Retry a specified sequence until it succeeds Repeat a specified sequence (loop) for each element in an array
field
bull Various Control Steps are Sequence Loop Branch Repeat Exit
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM42
Sequence
bull Groups a set of flow steps into a series The SEQUENCE step is implicit in most flow services (that is the steps in a flow service are treated as a series) However at times it is necessary to explicitly group a subset of flow steps using SEQUENCE so that they can be treated as a unit
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM43
Loop
bull Executes a set of flow steps once for each element in a specified array
bull There can be simple and nested loops
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM44
Branch
bull Executes a specified flow step based on the value of a specified variable in the pipeline
bull Branch can be build in two waysndash Branch on a switch value (switch case)ndash Branch on an expression (if-else)
bull Branch on a switch value and an expression for the same BRANCH step is not possible
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM45
Repeat
bull Re-executes a set of flow steps up to a specified number of times based on the successful or non-successful completion of the set
bull Repeat can be used asndash Re-execute (retry) a set of steps if any step within the set failsndash Re-execute a set of steps until one of the steps within the set
fails
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM46
Exit
bull Controls the execution of a flow step (for example abort an entire flow service from within a series of deeply nested steps throw an exception without writing a Java service or exit a LOOP or REPEAT without throwing an exception)
bull Exit step can be specify exit fromndash The nearest ancestor (parent) LOOP or REPEAT flow step to
the EXIT flow step ndash The parent flow step of the EXIT flow step ndash A specified ancestor flow step to the EXIT flow step ndash The entire flow service
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM47
Invoke and Map
bull Invoke executes a specified service it request a service within a flowbull Map performs specified editing operations on the pipeline (such as
mapping variables in the pipeline adding variables to the pipeline and dropping variables from the pipeline) It adjust the contents of the pipeline at any point in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM48
Run Flow Service
bull Designer invokes the service (just as an ordinary IS client would) and receives its results The service executes once from beginning to end (or until an error condition forces it to stop) The service executes on the Integration Server on which there is an open session or on the Integration Server specified in the launch configuration
bull Results from the service are returned to Designer and displayed in Service Result view This allows to quickly examine the data that the service produces and optionally change it or save it to a file
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM49
Debugging Flow Servicesbull Debugging a service can be done as
ndash Execute a flow service one flow step at a time and view the results of each step
ndash Set breakpoints to specify points in a flow service at which processing should stop
ndash Change the values passed to each step in the flow service
ndash Use the Step Over (execute the current flow step ) Step Into (open a child flow to debug the individual flow steps within it) and Step Out (Return to the parent flow from a child) commands
during a debug sessionndash Disabling Flow Steps Transformers and Conditionsndash Modifying the Flow Service Pipeline while Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM50
Save and Restore the Flow Service Pipeline
bull Because the pipeline contains the data that a service operates against the ability to save and restore the pipeline while debugging a service is something frequently wanted to do
bull Saving the Flow Service Pipeline while Debuggingndash Saving the Pipeline to a File
bull save the pipeline to ocal file systembull save the pipeline to the IntegrationServer_directorypipeline
directory on the machine on which Integration Server residendash Saving the Pipeline at Run Time
bull The pipeline gets saved automatically to a file at run time by using the Pipeline Debug property
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM51
bull Restoring the Flow Service Pipeline while Debugging
Restoring a pipeline is useful to inspect the values in a particular pipeline file (perhaps one that contains the pipeline from a failed service) Additionally it is useful in many debugging situations
There are three ways to restore the contents of the pipelinendash manually load the saved pipeline into the Variables view while
debugging in Designerndash automatically load the saved pipeline at run time by using the
Pipeline Debug property ndash programmatically load a saved pipeline at run time by invoking
pubflowrestorePipelineFromFile at the point where to modify the pipeline
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM52
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM53
Mapping
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM54
Objectives
bull At the end of this section you will be able tondash perform complex mappingndash use transformersndash understand Pipeline Variable Substitution
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM55
Mapping data in Flow service
bull Since systems rarely produce data in the exact format that other systems need flow services needs to be build that perform data transformations Data transformation resolves differences in the way data is represented within documents that applications and systems exchange
bull In Designer data transformations can be accomplished by mapping data
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM56
bull By mapping following types of transformations can be accomplishedndash Name transformations - This type of transformation resolves
differences in the way data is namedndash Structural transformations - This type of transformation
resolves differences in the data type or structure used to represent a data item
ndash Value transformations - This type of transformation resolves differences in the way values are expressed
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM57
Basic Mapping
bull Basic mapping are the tasks to manage the pipeline contents and the values of variables in the pipeline Various tasks are
ndash Link variables to each otherndash Assign values to variablesndash Drop variables from the pipelinendash Add variables to the pipelinendash Variable substitution
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM58
Transformers
bull Transformers are the services use to accomplish value transformations in the Pipeline view Only transformer can be inserted into a MAP step
bull Transformers are well suited for use when mapping data from one document format to another When mapping data between formats there is a need to perform several name structure and value transformations By using transformers the flow service in which mapping data between formats could potentially consist of a single MAP step where transformers and links between variables handle all of the data transformations In this way entire document-to-document mapping is done in a single view
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM59
Inserting a Transformer
bull Transformers can only be inserted in a MAP step bull Any service can be used as a transformer including flow services C
services and Java services bull The transformers inserted into a MAP step operate on the same set
of pipeline data bull The output of one transformer cannot be used as the input of another
transformer in the same MAP step bull Transformers in a MAP step are independent of each other and do
not execute in a specific order When inserting transformers assume that Integration Server executes the transformers concurrently at run time
bull In a MAP step Designer only displays the links between pipeline variables and transformers Designer does not display any implicit linking for a MAP step
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM60
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM61
Java Services
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM62
Objectives
bull At the end of this section you will be able tondash describe the capabilities of webMethods Java Servicesndash write Java Servicesndash understand the role IData plays in writing Java Servicesndash understand how different Integration Server data structures are
exposed to Java servicesndash understand various ways of invoking Java services and
generating Java code
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM63
Java Service
bull A Java service is a public static method in a Java class file on Integration Server Java services follow a simple naming scheme
ndash The service name represents the Java method name ndash The interface name represents the fully-qualified Java class
namebull Because Java class names cannot contain the ldquordquo character services
that reside in nested folders are implemented in a class that is scoped within a Java package All Java services that reside in the same folder are methods of the same class
bull When Java service is build the system automatically combines the service into the class file associated with the folder in which it is created in
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM64
IData Object
bull The IData object is the universal container that services use to receive input from and deliver output to other programs
bull It contains an ordered collection of keyvalue pairs on which a service operates
bull An IData object can contain any number of keyvalues pairs (elements) The keys in an IData object must be Strings The values can be any Java objects (including IData objects)
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM65
Get and Set IData Objects(IData Cursors)
bull Getting data from and putting data into IData elements takes two steps First position the cursor at the IData element Next get or set the data in that element
bull The class that used to position a cursor in an IData object is IDataCursor
bull The IDataCursor class contains methods for performing basic cursor operations such as placing the cursor at the first last or next element in the object
bull After positioning the cursor on the element the getValue or setValue methods to read or write the value of that element respectively can be used This class also provides methods for inserting new elements getting key names and deleting elements
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM66
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM67
Monitoring Services
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM68
Objectives
bull At the end of this section you will be able tondash set up logging for Services and Processesndash describe the key features of My webMethods Monitorndash monitor services
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM69
Audit Logging
bull Audit logging for webMethods products provides important data that needs to monitor webMethods system activity and correct problems Integration Server maintains most of the audit logging data in the webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM70
Types of Logging
bull Error Audit Logging - Error audit logging provides data about exceptions thrown by services running on Integration Server
bull Session Audit Logging - Session audit logging provides data about sessions opened on Integration Server by Developer Designer third‐party clients and other servers
bull Service Audit Logging - Service audit logging provides data about flow and coded (for example Java) services that run in Integration Server
bull Security Audit Logging - Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities Security audit logging provides data about security‐related administrative and operational events that occur on Integration Server Administrative events are configuration changes related to Integration Server security activities
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM71
bull Document Audit Loggingbull Guaranteed Delivery Audit Logging - If configure the guaranteed
delivery capability in Integration Server is configured guaranteed delivery audit logging provides data about guaranteed delivery transactions
bull Business Process Audit Logging - Business process audit logging provides data for business processes modeled in Designer that run on Integration Servers
bull Task Audit Logging - Tasks are created in Designer and run on My webMethods Server
bull Integration Process Audit Logging
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM72
Logging Setupbull Integration Server writes error session service security
document guaranteed delivery and Mediator transaction audit logging data to files or database tables collectively called the IS Core Audit Log
bull Integration Server writes business process integration process and task audit logging data to database tables collectively called the Process Audit Log
bull Levels of Loggingndash perSvc - set up customized logging on a service‐by‐
service basis in Developer or Designerndash Brief - The logger writes start and failure or start and
success log entries for every service every time the service is called either directly or by another service
ndash Verbose - Same as Brief except that the logger also writes the input pipeline in all cases
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM73
Logging Level
bull Fatal - Failures that end operations in such a way that the operations cannot successfully continue without user intervention
Failure is VERY likely to affect other operations or products bull Error - Same as Fatal except that existing error handling renders the
failure unlikely to affect other operations or products bull Warn - Problems that do not end operations or unexpected or
unusual conditions that might signal impending failure bull Info - Success of an event that you need to know aboutbull Debug - Code-level statements recording unusual conditions or
decisions that might lead to errors bull Trace - Code-level statements recording program flow and state
during normal execution bull Off - No information for the product or facility is written to the server
log
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM74
Service Audit Logging
bull Track when services start their status and their durationbull Track whether services completed successfully or failedbull Record the client that called the service and the Integration Server
port on which the client connectedbull Resubmit services
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM75
Business Process Audit Logging
bull Identify business processesbull Record the path that business processes took at run timebull Track when business processes and business process steps started
changed status and endedbull Track whether business processes and steps completed successfully
or failedbull Resubmit business processes at specified steps
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM76
My webMethods and webMethods Monitor
bull My webMethods is a Web-based monitoring and administration user interface for managing webMethods components Logging into My webMethods means logging into all webMethods components that are incorporated into My webMethods
bull webMethods Monitor displays data that webMethods Integration Server and webMethods Optimize for Process have logged Data can be logged about business processes services and documents
bull To access Monitor functionality log in to the My webMethods user interface The Administrator user account is defined at installation this user account is assigned the password manage
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM77
Monitor and My webMethods User Interface
bull View data logged by other webMethods productsbull Resubmit services and documentsbull Monitor suspend resume and resubmit process instancesbull Enable process models and define settings that are used by running
process instances of those modelsbull Generate reports about process instances process models task
users and task rolesbull Archive or delete audit data from the IS Core Audit Log and Process
Audit Log database componentsbull Monitor functionality is in the Applications section in both the
Administration and the Monitoring sections of My webMethods
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM78
Administration Section
bull User Management - Define users groups and roles and configure access to Monitor privileges
bull Business Processes - Enable process models for execution and define settings that are used by running process instances of the models
bull Archive Audit Data - Archive or delete audit data from the IS Core Audit Log and Process Audit Log database components
bull System Settings - Identify the Integration Server with which the My webMethods Server is to interact
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM79
Monitoring Section
bull Process Instances - View the details about individual process instances including drilling down to view information about the steps within a process
Suspend resume and stop process instancesbull Services - View audit data that Integration Server have logged for
services Resubmit servicesbull Documents - View documents that have been logged to the IS Core
Audit Log database component Resubmit documents
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM80
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM81
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM82
Flat File Handling
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM83
Objectives
bull At the end of this section you will be able tondash describe the webMethods Flat File Architecturendash create a Flat File Dictionaries and Schemas using Developerndash parse delimited fixed-length variable-length and complex Flat
Filesndash create custom Format services
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM84
FlatFile
bull Flat files present complex hierarchical data in a recordndashbased storage format which unlike XML does not embed structural information (metadata) within the data In other words the metadata of a flat file is separated from the data and contained in a flat file schema
bull A single logical record of application data is externalized as a set of records without any structural information Therefore the application receiving the flat file must have knowledge of the structure of the flat file through the flat file schema to read the flat file
bull Flat files enables to send data to any application in a mutually agreed upon format so that the data in the files can be read and processed
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM85
Architecture
bull All flat files consist of a list of records containing fields and composites
bull Fields are atomic pieces of databull Composites contain multiple fieldsbull Records (also known as segments) are sequences of fields andor
compositesbull To communicate using flat files users must create a flat file schema
that contains a particular flat filersquos structural information including how to identify records and separate those records into fields
bull webMethods can exchange all types of flat files but can process only certain types of flat files
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM86
Flat File Schema and Dictionaries
bull A flat file schema is the blueprint that contains the instructions for parsing or creating a flat file and is created as a namespace element in the webMethods Integration Server This blueprint details the structure of the document including delimiters records and repeated record structures A flat file schema also acts as the model against which an inbound flat file can be validated
bull A flat file dictionary is a repository for elements that refers from flat file schemas This allows to create record definitions in a dictionary that can be used across multiple flat file schemas Reusing record definitions reduces the amount of memory consumed by a flat file schema
bull The decision to define records in a flat file dictionary or in a flat file schema depends on the type of flat files that needs to be parsed
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM87
Parsing of Records using Flat File Schema
bull Record Parsers - A record parser breaks a flat file into individual recordsbull In webMethods there are four record parser
ndash Delimited Record Parser - This parser expects a specific delimiter to indicate the end of a record a character or character representation or hex-decimal value or octal value or unicode characters
ndash Fixed Length Record Parser- This parser splits a file into records of the same pre-specified length This parser measures the lengths and positions of records in terms of bytes rather than characters
ndash Variable Length Record Parser- This parser expects each record to be preceded by two bytes that indicate the length of the record
ndash EDI Document Type Record Parser -This parser is used only for EDI flat files and provides additional functionality needed to properly parse EDI documents
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM88
bull Record Identifiers - A record identifier looks at a record and extracts an identifier out of the data The identifier is then used to connect the record definition in a flat file schema with a particular record in the flat file The name of the record definition must match the value obtained by the record identifier
bull In webMethods there are two methods of record identifications
ndash Starts at position - record identifiers compare the value that occurs in the record at the specified offset to all the record names defined in the flat file schema
ndash Nth Field record identifiers use the value of the specified field as the record identifier These identifiers count from zero (0)
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM89
Format Services
bull Service that formats the field String in a flat file schema or dictionary and ensures that the value of the String meets the format restrictions of the format service
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM90
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM91
Web Services
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM92
Objectives
bull At the end of this section you will be able tondash create Web Service provider nodesndash Use Web Service consumer nodesndash work with custom fault documents
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM93
Web Services
bull A Web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs Web services are building blocks for creating open distributed systems
bull Designer uses Web service descriptors to encapsulate information about Web services and uses Web service connectors to invoke Web services
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM94
Web Service Descriptors and Connectors
bull Web service descriptor (WSD) is an element on Integration Server that defines a Web service in IS terms The WSD encapsulates all the information required by the provider or the consumer (requester) of a Web service The WSD contains the message formats data types transport protocols and transport serialization formats that should be used between the consumer (requester) and the provider of the Web service It also specifies one or more network locations at which a Web service can be invoked In essence the WSD represents an agreement governing the mechanics of interacting with that service
bull Web service connector is a flow service that Integration Server creates at the time it creates the consumer Web service descriptor Web service connector contains the information and logic needed to invoke an operation defined in the WSDL document used to create the consumer Web service descriptor
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM95
bull A provider Web service descriptor defines a Web service that is hosted on the Integration Server that is a service ldquoprovidedrdquo to external users A provider Web service descriptor will expose one or more IS services as operations which can be published to a registry as a single Web service External users can access the Web service through the registry and invoke the IS services remotely
bull A consumer Web service descriptor defines an external Web service allowing Integration Server to create a Web service connector (WSC) for each operation in the Web service The Web service connector(s) can be used in Designer just like any other IS flow service when a connector is invoked it calls a specific operation of a Web service
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM96
Exposing IS Services as Web Services
bull Any service in any Integration Server package can be turned into a Web service Integration Server provides an environment for executing services efficiently and securely It receives and decodes requests from clients calls the requested services and encodes and returns the output to the clients To expose an IS service as a Web service use the IS service as an operation in a provider Web service descriptor
bull A provider Web service descriptor (WSD) is created from one or more IS services or from a single WSDL document and is designed to allow the IS services to be invoked as Web services over a network The provider Web service descriptor contains all the data required to create a WSDL document for the IS Web service as well as the data needed at run time to process the request and response
bull A service first provider WSD refers to provider WSDs created from an existing service on Integration Server The IS service becomes an operation in the provider WSD Integration Server uses the existing service signature as the input and output messages for the operation Operations and bindings ca be added to a service first provider WSD
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM97
bull A WSDL first provider WSD refers to a provider WSD created from an existing WSDL document or from a Web service acquired from a UDDI registry In this case Designer uses the message and operation definitions from the WSDL to generate a ldquoplaceholderrdquo flow service for each operation encountered in the WSDL along with IS document types defining the input and output signature of the generated flow services and then implement any required logic within the placeholder flow service Operations or bindings cannot be added to a WSDL first provider WSD
bull The provider WSD can be published to a UDDI registry (or other publicly accessible server) as a Web service which can be invoked remotely by an external user A Web service provider can also distribute WSDL files directly to consumers
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM98
Invoking Web Servicesbull Create a consumer Web service descriptor in Integration Server
to invoke Web services located on remote servers It contains all the data from the WSDL document that defines the Web service as well as data needed for certain Integration Server run-time properties
bull When creating a consumer Web service descriptor from a WSDL document Integration Server creates a Web service connector for each operation contained in the WSDL document
bull The Web service connector is a flow service that ndash Uses an input and output signature that corresponds to the
input and output messages of the Web service operation ndash Contains flow steps that create and send a message to the
Web service using the transport protocol and location information specified in the Web service
ndash Contains flow steps that extract data from the output message returned by the Web service
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM99
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM100
JDBC Adapter
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM101
Objectives
bull At the end of this section you will be able tondash configure an Adapter Connectionndash create Adapter Servicesndash create Notification Services
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM102
JDBC Adaptersbull The webMethods JDBC Adapter is an add‐on to the webMethods
Integration Server that enables to exchange data with relational databases through the use of a JDBC driver The adapter provides seamless and real‐time communication with the database without requiring changes to existing application infrastructure
bull Using the JDBC Adapter webMethods Integration Server clients can create and run services that execute transactions to retrieve data from and insert and update data in relational databases
bull The JDBC Adapter supports the following databasesndash 1048708 DB2 for OS390 AS400 Universal Database (UDB)ndash 1048708 IBM Informixndash 1048708 Microsoft SQL Serverndash 1048708 Oraclendash 1048708 Sybasendash 1048708 Teradata
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM103
Adapter Connection
bull The JDBC Adapter connects to a database through a JDBC driver at run time One or more connections can be created at design time to use in integrations The number of connections created and the types of those connections depend on the types of databases connected to and integration needs
bull JDBC Adapter connections contain parameters that the Integration Server uses to manage connections to the database so that they can be used by the JDBC Adapter to provide services Connections are configured using the webMethods Integration Server Administrator tool Must have webMethods administrator privileges to access the JDBC Adapterrsquos administrative screens
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM104
Transaction Types
bull NO_TRANSACTION
The connection provides no transaction control over the operations being performed That is the connection automatically commits (Auto Commit) all operations
bull LOCAL_TRANSACTION
The operations on the same connection in one transaction boundary will be committed or rolled back together
bull XA_TRANSACTION
Allows the connection to support two‐phase transactions executed across multiple databases In one transaction boundary all of the operations on multiple connections will be committed or rolled back together
A transaction boundary means the scope of the transaction from the beginning
to the end of a transaction It can be in one adapter service one flow service
one Java service or several steps in a flow service
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM105
Adapter Services
bull Adapter services allows to connect to the adapters resource and initiate an operation on the resource from the Integration Server
bull Adapter services can be called from flow or Java services to interact with database tables The adapter services perform database operations by calling JDBC APIs The Integration Server then uses adapter connections defined earlier to execute the adapter services
bull Adapter services are based on templates provided with the JDBC Adapter Each template represents a specific technique for doing work on a resource such as using the SelectSQL template to retrieve specified information from a database
bull An adapter service template contains all the code necessary for interacting with the resource but without the data specifications These specifications needs to be provide to create a new adapter service
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM106
Adapter service Type and TemplatesAdapter Service
TypeAdapter Service
TemplateDescription
Select SQL SelectSQL Retrieves specified information from a
database table
Insert SQL InsertSQL Inserts new information into table
Update SQL UpdateSQL Updates existing information in table
Batch Insert SQL BatchInsertSQL Inserts new information into table when
dealing with a large volume of data
Batch Update SQL BatchUpdateSQL Updates information in table when
dealing with a large volume of data
Delete SQL DeleteSQL Deletes rows from a table
Custom SQL CustomSQL Defines and executes custom SQL
Dynamic SQL DynamicSQL Defines and executes a SQL statement
Stored Procedure StoredProcedure Calls a stored procedure
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM107
Adapter Notifications
bull An adapter notification monitors a specified database table for changes such as an insert update or delete operation so that the appropriate Java or flow services can make use of the data
bull JDBC Adapter notifications are polling‐based That is the Integration Server will invoke the notification periodically based on the polling interval
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM108
Adapter Notification Types and TemplatesNotification Type
Notification Template
Description
Insert Notification InsertNotification Publishes notification of insert operations on table
Update Notification UpdateNotification Publishes notification of update
Operations on table
Delete Notification DeleteNotification Publishes notification of delete operations on table
Basic Notification BasicNotification Polls a table for data using a SQL
Select operation
Stored Procedure
Notification
StoredProcedure
Notification
Publishes notification data by calling a stored procedure inside database
Ordered Notification OrderedNotification Publishes notification data for multiple insert update or delete operations on multiple tables for a given database
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM109
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM110
Service Error Handling and Debugging
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM111
Objectives
bull At the end of this section you will be able tondash Describe the Java Exception Handling procedurendash Distinguish between checked and unchecked exceptionsndash Throw exceptions from Javandash Catch exceptions in Java and Flowndash Use built-in Services to help debug your Servicesndash Debug Services using a debugger
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM112
Classifying error types
bull Application Error
The result of business process or application failure or a designation assigned by a developer
bull Expected System Error
The predictable result of a known invalid action These errors are thrown by the server or its components (adapters) and are manifested as Java exceptions
bull Unexpected System Error
The unexpected result of a system failure use of incompatible software or starvation of resources memory disk space or any other event
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM113
bull Most webMethods Integration Server development is in one of two languages -- Flow and Java
bull For Java development standard exception handling available is using Try-Catch blocks This logic is well-known When throwing errors inside of webMethods Java services though discretion should be used It is a clean API practice to handle as much exception logic as possible from within the throwing service Using defensive programming will help to avoid unwanted failures Only when the failure is beyond the developers control should the Inetgration Server be notified via a Service Exception
bull For Flow development webMethods makes available several exception handling techniques The BRANCH operator is handy for managing logic and application errors The EXIT operator can be used to exit from an entire Flow or just a section of Flow
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM114
Handling error notifications
bull How error notifications are handled once caught is required business logic for any integration and must be addressed during the Requirements Gathering phase of a project
bull The most common error reporting method is email notification An error should be classified and reported to any relevant applications as well as delivered via email to developers This approach helps to deal with critical issues quickly A generic Error Handling service can be written to manage these tasks
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM115
Throwing errors
bull In order to use Exception Handling services we must write code that throws an error to be caught
bull Using Flow call the EXIT operator and provide a detailed message for the failed action
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM116
Using Flow-based Try-Catch Blocks
bull Another technique for handling Flow exceptions is to create a Try-Catch block
bull The technique for creating Try-Catch blocks in Flow is as follows
SEQUENCE (EXIT on SUCCESS) Label MAIN
SEQUENCE (EXIT in FAILURE) Label TRY
Try block Flow goes here
SEQUENCE (EXIT on DONE) Label CATCH
Catch block Flow goes here
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM117
Insert your Screenshots here
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM118
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM119
copy 2012 WIPRO LTD | WWWWIPROCOM120
copy 2012 WIPRO LTD | WWWWIPROCOM120