(WID/WPS) How to Connect to BPEDB in WPS

During the development of the real time projects ( For which runtime is WPS), we may need some mechanism through which we can customize the default BPC functionality.

To achieve this we should have connection details for BPEDB. We can either query from the tables of this DB or can export the results in a report (through Java)

In one of my project we needed a daily report of all the process instances which got failed during its life cycle.
Initially we did it manually using BPC explorer (Search by stop status) & generated a report out of it manually.

Later we came up with a reusable automated tool which queries from BPEDB and generates a report of required information automatically.


The following diagram illustrates the details required : 
Connection Details to connect to BPEDB
Note : Database URL could be anywhere; it should be C:/XX/XX.../databases/BPEDB.


Using Java :
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection db2Conn = DriverManager.getConnection(<<DB_URL>>,<<DB_USERNAME>>,<<DB_PWD>>);

What is SOA ?



Service : A task, a Business unit, a unit of work.
Orientation : Combining two or more services together to have a complex service.
Architecture : A platform which supports this service orientation.


So SOA is an architecture which supports service orientation with several features.


It is not :
A Technology
A Language
A Tool
A Plugin


For more info on SOA:
https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0ByotHxAO08TDNDk2MjI0YTAtZjIwZC00MzhlLWE3ZDQtNmFjYjY3NmEyNDlm&hl=en_US

Whats new in WPS 7.0

Following are the summary of the changes done in WPS 7.0 wrt WPS 6.x versions :

a) Parallel approval (Change ownership pattern : Single/Parallel)
b) Assigning default value to the variable (can remove assign activity)
c) In flight change (Can migrate any instance)
d) Page Flow support : Environment property of the human task , specify one property htm.hasNext = true : (Complete & claim the next task in the process automatically)
e) Accept next available task (System will provide you the list of task to work on)
f) EJB Binding : WebSphere Process Server V6.2 supported SCA imports with EJB 2.1 bindings. Version 7 now supports the EJB 3.0 specification, while still supporting EJB 2.1.
g) Business Object runtime : In previous versions, business objects were based on the Service Data Object (SDO) programming model, with an Eclipse Modeling Framework (EMF) implementation. In Version 7.0, the programming model is still SDO, but the implementation is now XML-based. This improves performance.
h) New SCA Container : A new Service Component Architecture (SCA) container delivers significant improved performance. In previous versions, a deployed module required an EJB project to be generated and deployed. The new SCA container eliminates this requirement in most cases, improving the speed of code generation, packaging, deployment, and validation.


For more information please visit :
http://www.ibm.com/developerworks/websphere/library/techarticles/1002_fasbinder1/1002_fasbinder1.html

Why we need an Architecture ?

In software field , we often come across the term 'Architecture'.


Architect always tend to say 'follow the architecture', 'any one can do coding but one should code as per architecture'.


So here is a small definition of what architecture is all about.


Large-scale software systems are designed and developed by multiple architects, designers, and developers.
To ensure that the components of the system will fit together, an architecture must be specified and followed by all developers.


Implementation details are left to the discretion of the individual developers, but by working within the architecture, a consistent and predictable software system is insured.


One Liner Definition : A common template should be followed by all participants (Architects, Designers, Developers) when dealing with multiple systems.