Beruflich Dokumente
Kultur Dokumente
29 October 2014
This session will be recorded and a replay will be available on IBM.COM sites and possibly social media sites such as YouTube. When
speaking, do not state any confidential information, your name, company name or any information that you do not want shared publicly
in the replay. By speaking during this presentation, you assume liability for your comments.
2009, 2014 IBM Corporation
Agenda
BPML Basics
Simple and complex activities as they relate to building business processes.
Process Messages
Creating a business process more intelligent using the message input and output
options.
BPML additions
Sterling Integrator specific additions to standard BPML structures
In each section dos and dont s will be discussed
BPML BASICS
What is BPML
In the end a Business Process (BP) is a sequence of technical steps resulting in the
technical requirement being fulfilled.
Example
Read a file from disc
Translate the file into a different format
Send the file to a Tradingpartner
Simple activites
Process Name
<process name=myProcess">
Sequence
<sequence name=Start">
BPML - structures
<assign name=Hello to=Test from World/>
Complex Activities
Operations (complex activity)
<operation name="SMTP Send Adapter">
Complex Activies
PROCESS MESSAGES
Input
Transformation
Output
Input and output are the messages well have a look at!
10
A Service (or Adapter) can get its input messages from several sources:
The Service Configuration
11
Process Messages
My BP is looping and calling itself
BPML ADDITIONS
13
BPML extensions
sci-get-property()
sci-set-property()
Returns a value from a name-value pair stored in a property
Syntax: sci-get-property(filename-without.properties", myVariableNameInFile")
Content of /si-dir/properties/myprops.properties:
14
BPML extensions
sci-set-property()
sci-set-property()
Sets a non-persistent GLOBAL property. This can be set during startup and changed
during runtime.
1st set the property. It has to be sciGlobalProcess but a name of your choice.
2nd access the property. It will retrieve the in-memory variable set above.
Remember: This is a non-persistent value. No files will be modified. It wont survive a restart.
15
BPML extensions
StatusRpt()
Status_Rpt()
Maps the advanced status of a service and adapter to a node in ProcessData
This addition put the Status Report as non-parsed CData to the XML-Node set as parameter
16
BPML extensions
getUniqueID()
getUniqueID()
Returns a unique id
Used to be built into the this service this function provides this functionality much faster.
Usually helpful when you have to insert values into database tables.
The BPML source code:
17
BPML extensions
DocToDOM()
DocToDOM
Parses a given, xml only, input file.
The result can be put the result into ProcessData
This process
18
BPML extensions
DocToDOM() with XPath
This process
19
BPML extensions
DocToDOM() - Important Note
When working with DocToDOM you will notice excessive log entries in the stdout noapp.log
As DocToDOM tries to validate the document against a non-existing DTD, this will result in the
error above. It is non-critical but annoying. Simply add ,false to the call.
This will cause the same result in ProcessData but no Error entry in the logfile.
20
BPML extensions
DOMToDoc()
DOMToDoc()
Executes an Xpath against the ProcessData and wraps the result in a given root tag
The result is added to ProcessData as document.
Example BP with same input file as in the slides before.
21
22
Survey
23
Additional References
Learn about upcoming Support Technical Exchange webcasts, and access previously
recorded presentations at:
https://www304.ibm.com/connections/communities/service/html/communityview?communityUuid=d586
14c7-a87a-4bea-a0d3-572710d530db
Access product show-me demos and tutorials by visiting IBM Education Assistant:
http://www.ibm.com/software/info/education/assistant
24
This Support Technical Exchange session will be recorded and a replay will be available on IBM.COM sites and possibly social media
sites such as YouTube. When speaking, do not state any confidential information, your name, company name or any information you do
not want shared publicly in the replay. By speaking in during this presentation, you assume liability for your comments.
25
26