webmethods designer training (1).ppt

120
© 2012 WIPRO LTD | WWW.WIPRO.COM 1 webMethods CoE Designer Training Puneet Saxena Integration Architect

Upload: mouli-bhattacharya

Post on 21-Jan-2016

2.533 views

Category:

Documents


34 download

TRANSCRIPT

Page 1: webMethods Designer Training (1).ppt

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

Page 2: webMethods Designer Training (1).ppt

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

Page 3: webMethods Designer Training (1).ppt

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

Page 4: webMethods Designer Training (1).ppt

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

Page 5: webMethods Designer Training (1).ppt

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

Page 6: webMethods Designer Training (1).ppt

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

Page 7: webMethods Designer Training (1).ppt

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

Page 8: webMethods Designer Training (1).ppt

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

Page 9: webMethods Designer Training (1).ppt

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

Page 10: webMethods Designer Training (1).ppt

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

Page 11: webMethods Designer Training (1).ppt

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

Page 12: webMethods Designer Training (1).ppt

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

Page 13: webMethods Designer Training (1).ppt

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

Page 14: webMethods Designer Training (1).ppt

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

Page 15: webMethods Designer Training (1).ppt

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

Page 16: webMethods Designer Training (1).ppt

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

Page 17: webMethods Designer Training (1).ppt

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

Page 18: webMethods Designer Training (1).ppt

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

Page 19: webMethods Designer Training (1).ppt

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

Page 20: webMethods Designer Training (1).ppt

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

Page 21: webMethods Designer Training (1).ppt

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

Page 22: webMethods Designer Training (1).ppt

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

Page 23: webMethods Designer Training (1).ppt

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

Page 24: webMethods Designer Training (1).ppt

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

Page 25: webMethods Designer Training (1).ppt

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

Page 26: webMethods Designer Training (1).ppt

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

Page 27: webMethods Designer Training (1).ppt

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

Page 28: webMethods Designer Training (1).ppt

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

Page 29: webMethods Designer Training (1).ppt

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

Page 30: webMethods Designer Training (1).ppt

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

Page 31: webMethods Designer Training (1).ppt

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

Page 32: webMethods Designer Training (1).ppt

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

Page 33: webMethods Designer Training (1).ppt

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

Page 34: webMethods Designer Training (1).ppt

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

Page 35: webMethods Designer Training (1).ppt

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

Page 36: webMethods Designer Training (1).ppt

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

Page 37: webMethods Designer Training (1).ppt

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

Page 38: webMethods Designer Training (1).ppt

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

Page 39: webMethods Designer Training (1).ppt

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

Page 40: webMethods Designer Training (1).ppt

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

Page 41: webMethods Designer Training (1).ppt

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

Page 42: webMethods Designer Training (1).ppt

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

Page 43: webMethods Designer Training (1).ppt

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

Page 44: webMethods Designer Training (1).ppt

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

Page 45: webMethods Designer Training (1).ppt

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

Page 46: webMethods Designer Training (1).ppt

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

Page 47: webMethods Designer Training (1).ppt

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

Page 48: webMethods Designer Training (1).ppt

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

Page 49: webMethods Designer Training (1).ppt

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

Page 50: webMethods Designer Training (1).ppt

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

Page 51: webMethods Designer Training (1).ppt

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

Page 52: webMethods Designer Training (1).ppt

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

Page 53: webMethods Designer Training (1).ppt

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

Page 54: webMethods Designer Training (1).ppt

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

Page 55: webMethods Designer Training (1).ppt

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

Page 56: webMethods Designer Training (1).ppt

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

Page 57: webMethods Designer Training (1).ppt

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

Page 58: webMethods Designer Training (1).ppt

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

Page 59: webMethods Designer Training (1).ppt

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

Page 60: webMethods Designer Training (1).ppt

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

Page 61: webMethods Designer Training (1).ppt

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

Page 62: webMethods Designer Training (1).ppt

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

Page 63: webMethods Designer Training (1).ppt

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

Page 64: webMethods Designer Training (1).ppt

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

Page 65: webMethods Designer Training (1).ppt

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

Page 66: webMethods Designer Training (1).ppt

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

Page 67: webMethods Designer Training (1).ppt

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

Page 68: webMethods Designer Training (1).ppt

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

Page 69: webMethods Designer Training (1).ppt

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

Page 70: webMethods Designer Training (1).ppt

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

Page 71: webMethods Designer Training (1).ppt

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

Page 72: webMethods Designer Training (1).ppt

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

Page 73: webMethods Designer Training (1).ppt

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

Page 74: webMethods Designer Training (1).ppt

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

Page 75: webMethods Designer Training (1).ppt

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

Page 76: webMethods Designer Training (1).ppt

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

Page 77: webMethods Designer Training (1).ppt

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

Page 78: webMethods Designer Training (1).ppt

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

Page 79: webMethods Designer Training (1).ppt

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

Page 80: webMethods Designer Training (1).ppt

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

Page 81: webMethods Designer Training (1).ppt

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

Page 82: webMethods Designer Training (1).ppt

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

Page 83: webMethods Designer Training (1).ppt

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

Page 84: webMethods Designer Training (1).ppt

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

Page 85: webMethods Designer Training (1).ppt

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

Page 86: webMethods Designer Training (1).ppt

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

Page 87: webMethods Designer Training (1).ppt

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

Page 88: webMethods Designer Training (1).ppt

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

Page 89: webMethods Designer Training (1).ppt

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

Page 90: webMethods Designer Training (1).ppt

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

Page 91: webMethods Designer Training (1).ppt

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

Page 92: webMethods Designer Training (1).ppt

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

Page 93: webMethods Designer Training (1).ppt

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

Page 94: webMethods Designer Training (1).ppt

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

Page 95: webMethods Designer Training (1).ppt

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

Page 96: webMethods Designer Training (1).ppt

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

Page 97: webMethods Designer Training (1).ppt

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

Page 98: webMethods Designer Training (1).ppt

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

Page 99: webMethods Designer Training (1).ppt

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

Page 100: webMethods Designer Training (1).ppt

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

Page 101: webMethods Designer Training (1).ppt

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

Page 102: webMethods Designer Training (1).ppt

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

Page 103: webMethods Designer Training (1).ppt

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

Page 104: webMethods Designer Training (1).ppt

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

Page 105: webMethods Designer Training (1).ppt

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

Page 106: webMethods Designer Training (1).ppt

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

Page 107: webMethods Designer Training (1).ppt

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

Page 108: webMethods Designer Training (1).ppt

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

Page 109: webMethods Designer Training (1).ppt

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

Page 110: webMethods Designer Training (1).ppt

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

Page 111: webMethods Designer Training (1).ppt

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

Page 112: webMethods Designer Training (1).ppt

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

Page 113: webMethods Designer Training (1).ppt

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

Page 114: webMethods Designer Training (1).ppt

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

Page 115: webMethods Designer Training (1).ppt

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

Page 116: webMethods Designer Training (1).ppt

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

Page 117: webMethods Designer Training (1).ppt

copy 2012 WIPRO LTD | WWWWIPROCOM117

Insert your Screenshots here

copy 2012 WIPRO LTD | WWWWIPROCOM118

copy 2012 WIPRO LTD | WWWWIPROCOM119

copy 2012 WIPRO LTD | WWWWIPROCOM120

Page 118: webMethods Designer Training (1).ppt

copy 2012 WIPRO LTD | WWWWIPROCOM118

copy 2012 WIPRO LTD | WWWWIPROCOM119

copy 2012 WIPRO LTD | WWWWIPROCOM120

Page 119: webMethods Designer Training (1).ppt

copy 2012 WIPRO LTD | WWWWIPROCOM119

copy 2012 WIPRO LTD | WWWWIPROCOM120

Page 120: webMethods Designer Training (1).ppt

copy 2012 WIPRO LTD | WWWWIPROCOM120