Sunday, April 17, 2016
Using the REST APIs in IBM Business Process Manager V8.5
April 17, 2016
Introduction
This article describes the
REST resources available for application developers to use in IBM® Business
Process Manager to access business process, human task and business category
data. This article introduces the various components of Business Process
Manager that are exposed in the REST APIs, as well as supported content types,
use of method overrides, response data formats, and how to use the REST API
Tester tool.
Overview
IBM Business Process Manager
V8.5 provides a set of APIs that are implemented using Representational State
Transfer (REST) services. A set of business process definition (BPD) related
REST resources are provided for accessing business process, human task and
business category data. These REST APIs enable developers to build a user
interface or customize an existing portal application. The APIs are simple
enough to be called from mobile devices or from Rich Internet Applications
(RIAs).
This article introduces the
IBM Business Process Manager REST APIs you can use to access business process,
human task and business category data, and describes the various components of
Business Process Manager that are exposed in the REST APIs. You'll learn about
the following:
Ø
The REST URL
format
Ø
The available REST
APIs
Ø
Supported content
types and use of method overrides
Ø
Response data
formats
Ø
The REST API
Tester
BPM components and data models
The Business Process Manager
REST APIs work with various BPM components. Below Figure illustrates all
Business Process Manager components for which a REST APIs are implemented, and
their associated data models.
Several REST methods are
available for application developers to use on each resource; these methods are
listed in the next section. Following is the list of Business Process Manager
components in which various product functions are exposed in REST APIs:
v Business process definitions
v Process instances
v Tasks
v External activities and services
v Users and groups
v Saved searches and custom searches
The IBM Business Process
Manager REST resource URIs have the following format:
http://{host}:{port}/rest/{component}/v1/{anyResource}?{query}
where:
·
"http://{host}:{port}" contains
the host address and port
·
"/rest/{component}" is
the configurable context root, where component (providing a resource set) is
e.g. bpm/htm or bpm/wle.
·
"/v1/{anyResource}?{query}",
together with the host address/port and context root, represents the IBM
Business Process Manager resource
Each resource URI has a
version identification (/v1) for handling changes to the REST API set that
would break compatibility with existing REST clients. The following changes are
considered compatible and must be expected by clients:
·
Adding new REST
resource relationship to the resource model, without affecting existing
navigation
·
Adding additive
information to REST representations that won't affect existing clients
·
Adding a new MIME
type / representation support
·
Adding new
properties to existing JSON objects returned to a client (ignored by backlevel
clients)
·
Adding new
properties to existing JSON objects received from a client (defined as
optional)
The IBM Business Process
Manager REST interface provides the following HTTP methods:
·
POST - create a
new resource
·
GET - retrieve a resource
·
PUT - update an
existing resource
·
DELETE - delete a
resource
Some firewalls do not allow
the use of HTTP PUT and DELETE methods to flow through the firewall because of
security considerations. To accommodate this, a PUT or DELETE request can be
'tunneled' through a POST request using
the "X-Method-Override" or "X-HTTP-Method-Override" HTTP
header. In general, the value of the X-Method-Override and
X-HTTP-Method-Override HTTP headers act as an override to the HTTP method used
in the request.
As an alternative to setting
the X-Method-Override or X-HTTP-Method-Override HTTP headers, you can use
the "x-method-override" or "x-http-method-override" URI
query parameter (example: "POST /rest/bpm/htm/v1/task?...&x-method-override=PUT").
In some cases, the length of a
GET request URI might exceed the URI length supported e.g. by a browser or it
might be otherwise impractical to specify all the request parameters as query
parameters. As a workaround, a GET request can be 'tunneled' through an
equivalent POST.
In this case, the client
replaces the GET method by a POST method, puts the URI query string (the string
to the right of the '?' character) into the POST request message body, and sets
the Content-Type HTTP header
to "application/x-www-form-urlencoded".
The data included in requests
or responses will be of one of the following media types:
application/json
JSON (JavaScript Object Notation) - This is the default response content type. For the
detailed format of each returned object, see the JSON schema specifications for
each operation.
application/xml
XML (eXtensible Markup Language) - The format of XML-based data is specfied by the XML
schemas supplied with the product in the <install-root>/properties/schemas/bpmrest/v1
directory. Excerpts of these schemas are also provided in the documentation for
each operation.
application/x-javascript
JSONP (JSON with Padding) - This format can be used as an alternative to JSON.
In this case, each returned JSON response is wrapped in a JavaScript callback
function invocation. To use this feature, you must also specify
the callback URI query parameter.
Requesting Response Media Types
A client can specify the
requested media type for the response by using
the "Accept" HTTP header (example: "Accept:
application/json").
Alternatively, the client can
use the "accept" URI query parameter
(example: "GET
/rest/bpm/htm/v1/task/...?accept=application/json"). If both the HTTP
header and the URI query parameter are specified, then the query parameter
takes precendence.
If the server is unable to
respond with the requested media type then an HTTP status code 406 Not
Acceptable is returned.
Requesting Parts in the Response Data
Some requests support
the parts URI query parameter, which is an optional parameter that
allows a client to specify a list of one or more parts to be returned in the
response data for a particular request.
Examples:
parts=header|data
parts=all
parts=none
In general, the value of the
parts parameter is a "|"-delimited list of part names. Each request
will support its own particular set of part names that are associated with that
request. For those details, see the reference information for each request. In
addition to specific parts names, you can also specify "all" or
"none". If the parts parameter is not specified, then the default of
"all" will be used.
JSON Lists of Name/Value Pairs
Some JSON data objects contain
a nested object with a list of name/value pairs such as { "a" :
"Athens", "b" : "Belgrade", "c" :
"Cairo" }. In the JSON schema descriptions throughout the
documentation, these objects (in custom properties, client settings, and
properties of users/groups) simply appear as generic {"type":"object"}.
JSONP Response (WebSphere Lombardi Edition only)
To request that response data
is to be returned in the JSONP format, you must specify a response media type
of application/x-javascript with either the Accept HTTP
header or the accept URI query parameter, and you must also specify
the javascript function name with the callback URI query parameter.
In this case, the response consists of the JSON content wrapped in a JavaScript
callback function invocation. Example: "GET
/rest/bpm/wle/v1/task/...?accept=application/x-javascript&callback=mycallback".
By default, the support for
JSONP is disabled because of security considerations. To enable JSONP support,
you must set the following property in the server's 100Custom.xml file:
<jsonp-enabled>true</jsonp-enabled>
Requesting Localized
Response Content
For task descriptions,
documentations, etc., a client should send the list of preferred languages in
the "Accept-Language" HTTP header
(example:"Accept-Language: da, en-gb;q=0.8, en;q=0.7" - "I
prefer Danish, but will accept British English and other types of
English"). The server responds with
a "Content-Language" HTTP header
(example: "Content-Language: en").
Instead of setting the HTTP
header, the client can use the "accept-language" URI
parameter (example: "GET /rest/bpm/htm/v1/task/...?accept-language=en").
HTTP request and response
messages might contain compressed data. This is indicated by
the "Content-Encoding" HTTP header
(example:"Content-Encoding: gzip").
If the request message has a
content encoding that is not recognized by the server then an HTTP status
code 415 Unsupported Media Type is returned.
Requesting Encoded Response Content
A client can specify which
content encodings are acceptable by using
the "Accept-Encoding" HTTP header
(example: "Accept-Encoding: gzip") or
the accept-encoding URI query parameter (example: "GET
/rest/bpm/wle/v1/task/...?accept-encoding=gzip").
If
no "Accept-Encoding" HTTP header
(or accept-encoding URI query parameter) is specified in the request
message, then by default the content encoding of the response message is
"identity" (no encoding), indicated by the absence of
the "Content-Encoding" HTTP header.
If the server is unable to
respond with any of the listed content encodings then an HTTP status
code 406 Not Acceptable is returned.
The following list provides a
summary of supported HTTP headers and general URI query parameters applicable
to any resource URI:
·
HTTP headers:
o "Accept" - used to specify the
acceptable media type(s) for the response
o "Accept-Encoding" - used to specify the
acceptable content encodings for the response
o "Accept-Language" - used to specify the
set of natural languages that are preferred in the response
o "Content-Encoding" - specifies which
content codings have been applied to the request or response
o "Content-Language" - specifies the
natural language(s) used in the request or response
o "Content-Type" - specifies the media
type of the request or response message body
o "X-Method-Override" - indicates the
HTTP operation that is tunneled through this request; in other words, this
specifies a method name which overrides the method specified in the HTTP
request header.
o "X-HTTP-Method-Override" - equivalent
to "X-Method-Override"
·
URI parameters:
o "accept" - equivalent to
the "Accept" HTTP header
o "accept-encoding" - equivalent to
the "Accept-Encoding" HTTP header
o "accept-language" - equivalent to
the "Accept-Language" HTTP header
o "callback" - name of the JavaScript
callback function used in JSONP responses; this URI query parameter is required
if the caller requests the application/x-javascript media type in the response
by setting the Accept HTTP header or the accept URI query
parameter.
o "x-method-override" - equivalent
to "X-Method-Override" HTTP header
o "x-http-method-override" - equivalent
to "X-HTTP-Method-Override" HTTP header
If both an HTTP header and its
corresponding URI query parameter are specified, then the URI query parameter
value takes precedence over the HTTP header value.
For errors recognized during
processing of a REST request, an appropriate HTTP status code is returned to
the calling client (see the individual operations for details). The following
HTTP status codes are returned by IBM Business Process Manager REST methods:
·
Successful completion of the request:
o "200 OK" - successful completion
o "201 Created" - successful completion,
new resource created
o "204 No Content" - successful
completion, no content available
·
Expected error situations - additional error
information is provided depending on the error type:
o "400 Bad Request" - parameters are not
valid or they are missing
o "401 Unauthorized" - caller is not
authorized for this request
o "403 Forbidden" - caller is not allowed
to complete this request
o "404 Not Found" - resource does not
exist
o "406 Not Acceptable" - unsupported
media type or content encoding requested
o "409 Conflict" - conflict exists with
the current state of the resource
o "415 Unsupported Media Type" -
unsupported media type or content encoding of the request
·
Unexpected error:
o "500 Internal Server Error" - severe
problem - programmer's details provided
o "501 Not Implemented" - used for
certain federated requests
o "503 Service Unavailable" - federated
requests could not be delivered to individual federation targets
o "504 Gateway Timeout" - federated
response has partial content because of missing individual responses
Exception details
By default, an error response
will omit the server-side exception details because of security considerations.
To enable the inclusion of server-side exception details, you must set the
following property in the server's 100Custom.xml file:
<server-stacktrace-enabled>true</server-stacktrace-enabled>
Monday, February 1, 2016
WebSphere Business Events eXtreme Scale
February 01, 2016
Introduction
IBM® WebSphere® Business
Events eXtreme Scale is a combined offering of WebSphere Business Events and
WebSphere eXtreme Scale. This pairing extends business event processing to
customers with large volumes of business events throughout their enterprise.
Providing the foundation for high-throughput business event processing, WebSphere
Business Events eXtreme Scale helps to increase responsiveness and accelerate
the performance of high volume, data intensive event processing applications
while yielding higher throughput and lowering latency.
WebSphere Business Events
eXtreme Scale:
v
Exploits
WebSphere eXtreme Scale for high event volume customers.
v
Incorporates
WebSphere Business Events for event management, including a programming
interface for business user access.
v
Supports business
context at scale with robust in-memory cache.
v
Provides the
ability to detect, decide, and dynamically react to simple and complex
relationships between people, events and information.
v
Increases
business agility by enabling faster responsiveness to customers, suppliers and
changing market needs.
Saturday, January 30, 2016
IBM BPM Process Center starting and stopping by Command Prompt
January 30, 2016
Introduction
After you install and
configure IBM® Business Process Manager, we can use the BPMConfig command to start
and stop the Process Center. We run the BPMConfig command with the start
option, it sends instructions to start all of the servers that are defined in
the clusters and returns the command completion status. In some cases, the
command status might return as completed before all of the servers have been
started (delays). Verify in the Process Admin Console that all of the servers
are started and that the applications are started before processing any events,
such as starting the Process Designer.
Overview
Start Process Center
Start Deployment Manager
We need to follow below
command to start Deployment Manager Server.
startManager.bat
Start NodeAgent
We need to follow below
command to start NodeAgent Server.
startNode.bat
Start SingleClusterMember
We need to follow below
command to start SingleClusterMember Server.
startServer.bat <SingleClusterMemberName>
Check Server Status
We need to follow below command
to Check Server Status.
serverStatus.bat -all -username <username> -password
<password>
Below figures will show detail
steps.
Stop Process Center
Stop SingleClusterMember
We need to follow below
command to stop SingleClusterMember Server.
stopServer.bat <SingleClusterMemberName> -username <username>
-password <password>
Stop NodeAgent
We need to follow below
command to Stop NodeAgent Server.
stopNode.bat -username <username> -password <password>
Stop Deployment Manager
We need to follow below
command to stop Deployment Manager Server.
stopManager.bat -username <username> -password <password>
Check Server Status
We need to follow below
command to Check Server Status.
serverStatus.bat -all -username <username> -password
<password>
Below figures will show detail
steps.
IBM BPM Process Server starting and stopping by Command Prompt
January 30, 2016
Introduction
After you install and
configure IBM® Business Process Manager, we can use the BPMConfig command to start
and stop the Process Server. We run the BPMConfig command with the start
option, it sends instructions to start all of the servers that are defined in
the clusters and returns the command completion status. In some cases, the
command status might return as completed before all of the servers have been
started (delays). Verify in the Process Admin Console that all of the servers
are started and that the applications are started before processing any events,
such as starting the Integration Designer.
Overview
Start Process Server
We need to follow below
command to start process server.
startServer.bat <ServerName>
Below figures will show detail
steps.
Start Process Server
We need to follow below
command to stop process server.
stopServer.bat <ServerName> -username <username> -password <password>
Below figures will show detail
steps.
Server Status
We need to follow below
command to check server status.
serverStatus.bat -all -username <username> -password <password>
Below figures will show detail
steps.
Sunday, January 24, 2016
IBM Operational Decision Manager Advanced for V8.8
January 24, 2016
Introduction
IBM Operational Decision
Manager Advanced is designed to be a comprehensive and easy-to-use platform
that allows you to detect situations in real time. It can capture, automate and
manage frequently occurring, repeatable business decisions. You are able to
better identify opportunities, respond to market demands, minimize risks and
operate consistently.
Overview
IBM Operational Decision
Manager Advanced separates critical decision logic from mainframe application
code to help ease the change management, implementation and governance of
decision automation.
It also provides lifecycle
support for business decisions invoked from COBOL, PL/I and Java applications
executing in CICS, IMS™ and Batch environments. This includes capabilities for
decision testing and simulation within either the Rule Execution Server (RES)
in IBM WebSphere® Application Server or the zRule Execution Server (zRES)
environments, as well as the ability to trace the execution of how a business
decision is made in the zRule Execution Server using the Decision Warehouse
feature.
IBM is introducing the new
Decision Server Insights component for creating events-based solutions to build
situation context and apply insight to optimize decisions at the time of
interaction.
IBM Operational Decision
Manager Advanced provides:
v Natural-language business rules with collaborative
decision maintenance and governance
ü
Enables business
users to author and edit their own business vocabulary and logic rules.
ü
End-to-end
simulation capabilities empower business stakeholders to define key performance
indicators (KPI), simulation scenarios and custom graphical reports – with
little or no support from IT.
ü
Supplies business
users with templates, point-and-click editors, and error checking and version
management.
ü
Combines
interrelated rules to define complex and variable decisions.
ü
Takes advantage
of configurable smart folders, filters and reports to execute and monitor
rule-based processes, applications and transactions.
ü
Strengthens rule
quality with customizable queries, rule analysis, visual comparisons of changes
and integrated testing and simulation capabilities.
v Open standards-based development tools
ü
Provides a
unified application development environment that can synchronize technical
requirements with the Decision Center for z/OS repository.
ü
Deploys and
executes applications running on IBM WebSphere Application Server for z/OS
using Java 2, Enterprise Edition (J2EE)-compliant and service-oriented
architecture (SOA)-based decision services.
ü
Uses the zRule
Execution Server to provide a separate yet highly integrated runtime capability
for COBOL and PL/I applications.
v Multiple business-rule execution choices
ü
Offers an option
for the Rule Execution Server on IBM WebSphere® Application Server for z/OS.
ü
Provides high
availability and scalability through the underlying application server while
offering a suite of decision management services.
ü
Allows the
ability to consume COBOL, PL/I or Java data structures directly to facilitate
integration with existing applications deployed on respective supported
configurations.
ü
Offers an option
for zRule Execution Server for z/OS that provides local integration with
existing COBOL and PL/I applications.
ü
Provides an
interface so COBOL and PL/I applications can call directly into the rule
execution server.
v Incremental modernization
ü
Helps you
gradually tackle modernization.
ü
Allows for
modernizing one rule at a time – bringing it into a central business rule
repository for external management.
ü
Minimizes the
need to re-architect or rewrite applications.
ü
Helps you see the
value of the technology almost immediately.
v Integration with IBM products
ü
Provides batch
integration with IBM WebSphere Extended Deployment Compute Grid for Java batch
and IBM IMS™ support.
ü
Supports CICS
integration with hosting the zRule Execution Server with the CICS environment.
ü
Allows IBM Business
Monitor native integration for sending and receiving events and messages
provides richer, more graphical reporting capabilities.
ü
Supports Rational
Developer integration to help you more easily architect, design and develop
robust applications and mine for potential rules.
ü
Allows IBM
Business Process Manager Integration to create more agile business processes.
It does this by externalizing decision logic and integration options with IBM
Integration Bus. It lets software architects and developers to more easily
integrate IBM Operational Decision Manager decision services.
Thursday, January 21, 2016
Service Oriented Architecture (SOA)
January 21, 2016
Introduction
Service Oriented Architecture (SOA) has several core ideas that should be addressed in
your organization's SOA journey:
A set of services
that a business wants to provide to their customers, partners, or other areas
of an organization
An architectural style that requires a service provider, mediation, and
service requester with a service description
A set of architectural principles, patterns and
criteria that address characteristics
such as modularity, encapsulation, loose coupling, separation of concerns,
reuse and compatibility
A programming model
complete with standards, tools and technologies that supports web services,
REST services or other kinds of services
A middleware solution optimized for service assembly, orchestration,
monitoring, and management
With the convergence of
mobile, social, cloud, and big data analytics, SOA is more important than ever
before for offering insight and integrating systems from end to end. By
applying Service Oriented Architecture principles, an enterprise can manage and
govern business and IT transformation, setting them apart from their
competitors. The benefits range from seamless integration, cloud enabled
solutions, holistic business insight and agility to externalized APIs. SOA
integrates the front office, back office and the Internet of Things.
Middleware, best practices and
patterns speed the Service Oriented Architecture journey and amplify the value
it creates. IBM has over a decade of experience with SOA and a broad portfolio
of capabilities, spanning integration, processes, operational control and services.
SOA is “simply good design" — resting on a solid foundation of technology
and practices that support your organization’s journey into the changing world
of mobile, social, cloud and big data.
Sunday, January 17, 2016
IBM BPM - Integration Designer v8.5 Installation
January 17, 2016
Introduction
This article describes
installation instructions for installing IBM® Integration Designer V8.5 and
optional features. IBM Installation Manager is a program that helps you install
the IBM Integration Designer packages on your workstation. It also helps you
update, modify, and uninstall this and other packages that you install. A
package can be a product, a group of components, or a single component that is
designed to be installed by the Installation Manager.
Installation
Step 1:
Extract the Installation Files in Single folder as shown below.
Step 2:
Right click on Launchpad and select Run as administrator.
Step 3: It
will open Installation Manager with IBM Integration Designer Launchpad. Select
IBM Integration Designer for IBM Business Manger Advanced – Process Server then
click on Next.
Note: When
you start the installation process from the Launchpad program, IBM Installation
Manager is automatically installed if it is not already on your computer, and
it is automatically configured with the location of the repository that
contains the IBM Integration Designer package.
Step 4: By
default it will be selected Installation Location or you can change the
installation location as per your requirement. Select the features which you
want to install and click on next as shown below.
Step 5: Enter
Hostname (It will be your system hostname). Enter Username and Password for
cell administrative account and development environment administrative account.
Click on next.
Step 6:
Enter database server details. If you have already DB2 installed in your
system, just enter username and password of Database. Then click on next.
Step 7: Then
it will display Installation Summary. Accept the license agreement then click
on Install Software.
Step 8: Then
it will start installation and it will take around hours based on system
process and RAM. Then see as shown below installation success message on
Installation Manager. Select yes for open installed Integration Designer.
Step 9: It
will open Integration Designer and it will look like as shown below.
Conclusion
The above installation
configuration includes an IBM Process Server test environment. The following
packages are selected for installation:
v WebSphere Application Server Network Deployment
v IBM Business Process Manager Advanced - Process Server
v DB2 Express
v Integration Designer
A default stand-alone profile
for IBM Business Process Manager Advanced - Process Server is selected on the
Features page. This profile enables you to begin using the test environment
immediately.
Subscribe to:
Posts
(
Atom
)











