Case Management API by Koen van Dijk
August 21, 2014 Leave a comment
Case Management is a new addition to Oracle BPM in release 11.1.1.1.7 (PS6). This new release contains the Case Management engine, see blog Léon at http://leonsmiers.blogspot.nl/ for more details. However, currently this release does not contain a case portal. The case management API’s, just like the already existing Oracle BPM API’s, help in developing a portal page with relative ease. This blog will use some real life examples from the EURent casemanagement application and portal application developed by Oracle.
The Oracle BPM Case Management API is a Java Based API that enables developers to programmatically access the new Case Management functionalities. It is an elaborate API that can access all the functionalities of Oracle Case Management. I will describe two of those functionalities in this blog: retrieving case data as DOM (http://www.w3.org/DOM/) and attaching a document to a case.
Libraries
First of all when creating a Case Management project you will need to attach the following libraries:
These contain all the classes that are in the Case Management API.
Service client
To do anything with the BPM CaseManagement API in general it is necessary to create a CaseManagementServiceClient Object. The Case Management service client is the central piece of the Case Management API. It can be used to retrieve two different types of services. The first is the case stream service and the case service. The case stream service contains functionality to upload and download documents to and from a case. The second one is the CaseService. This service contains all the other functionality acting upon a case including but not limited to: Read the complete article here.
For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.
Blog
Twitter
LinkedIn
Facebook
Wiki
the latest Oracle Process
In my current project, I inherited a lot of OSB components that have been developed by (former) team members, but they all lack unit tests. This is a situation I really dislike, since this makes it much harder to refactor or bug-fix the existing code base. So, for all newly created components (and components I have to bug-fix) I strive to add unit tests. Of course, the unit tests will be created using my favourite testing tool: soapUI ! Unit of test The unit test should be created for the service composition, which in OSB terms should be the proxy service combination with its business service. Now, since you do not want to rely on any other services, you should provide mock services for all services invoked from your Component-Under-Test. In a previous article, I wrote about mocking your services in soapUI. While this approach would also be valid here, creating a mock service (and certainly deploying it on a separate WebServer) does violate one of the core principles of unit testing: to make your unit tests as self-contained as possible, i.e. not depending on any external components. In this article, I will show you how to achieve this by simply providing a mock response inside your unit test. Scenario The scenario I implement for testing is a simple currency converter; the external request consists of a from and a to currency, and an amount (in currency from). The service will perform an exchange rate lookup using the WebServiceX CurrencyConverter and return a response to the caller consisting of both the source and target currencies and amounts. For the purpose of unit testing, I will implement a mock response for the exchange rate lookup.
When a human task is opened in BPM Workspace, it will try by default to connect to either localhost or the server’s alias. So if you try to access the BPM Workspace remotely (from a computer other than where Oracle SOA is running) you will get an http error (unable to connect).
objects.These services are typically useful for UI driven integrations such as looking up FA information from external application UIs, using third party Interfaces to create/update data in FA. They are also used in non-UI driven integration uses cases such as initial upload of business or setup data, synchronizing data with an external systems, etc. 
To reap the benefits of mobility in the enterprise, CIOs will need to deliver reliable services in an environment of constant complexity and change.
This article will provide a live account of the three day Enterprise Mobility conference, hosted by AMIS in Nieuwegein, The Netherlands. Oracle ADF Product Managers Frank Nimphius and Chris Muir are the keynote speakers. They are joined by Willem de Pater, Steven Davelaar and Lancy Silveira from Oracle and Luc Bors, Frank Houweling, Paul Swiggers, Aino Andriessen and Lucas Jellema from AMIS. The presentations and demonstration during this conference cover the next step for most enterprises (with ADF or without): introducing enterprise mobility. Many of the themes currently or shortly relevant to any organization will take center stage: multi device UI, mobility, security, agile & automated software engineering, performance & scalability, user experience, web & mobile oriented architecture and cloud. It will discuss and demonstrate Oracle’s vision and the upcoming generation of products.
When using the Oracle SOA Suite for web service development, chances are that you are also using an Oracle database and that you are at some point in need of a database adapter in one of your SOA composites. If that happens to be the case, you might also encounter the requirement to support multiple composite revisions and keep them as stabile as possible.
Testing services as an atomic entity can be difficult. Especially if these services are part of a call chain or call other services. Often in such cases mock services are developed to reduce test dependencies and exclude services which are not interesting to the specific test case. For example, I’m testing service A. Service A calls service B. I’m not interested in service B (or service B is maintained by another department on which I don’t want to depend). I would mock service B when testing service A in this case. There are several methods to create mock services. These methods however are mostly not easily usable by testers since they require developing/coding mock services. Testers would benefit from being able to create their own mock services in order to create different tests for a specific service.