Category: SOA

Oracle SOA Suite 12c has been released

Today, Oracle SOA Suite 12c has been released. It brings important enhancements and improves integration and orchestration of applications and services spanning on-premises, cloud, mobile, and Internet of Things (IoT) devices.
For more information please refer to:
https://blogs.oracle.com/soa/

http://www.oracle.com/technetwork/middleware/soasuite/overview/index.html

No tags Hide

IBM Impact 2013 – Whats New in IBM BPM 8.5

At the global IBM conference (Impact 2013) some new features of IBM BPM 8.5 have been introduces. The most important enhancements are listed below:

  • Simplified IBM BPM installation, configuration, and administration reduces time and effort to setup, manage, and expand IBM BPM
  • Improved business process outcomes by significantly enhanced support for out-of-the box and custom dashboards
  • New, internal document repository to consistently store document attachments, both internally and externally, using CMIS “live” linkages between process documentation in Blueworks Live
  • “live” linkages between process documentation in Blueworks Live, and corresponding IBM BPM process applications improve collaboration, communications, and change tracking between business process stakeholders
  • Enhanced web service security and Simple Object Access Protocol (SOAP) header support in the IBM BPM standard runtime
  • Included entitlement for IBM Worklight Enterprise Edition Environment accelerates developing IBM BPM applications on mobile devices

No tags Hide

Web services are technology neutral web based components or applications that use XML-based open standards to enable interoperability in integration. Java introduced Java API for XML Web Services (JAX-WS) for creating web services. JAX-WS API is part of the Java EE platform and supports annotations. It simplifies the development of web service providers and web service clients.

Our goal is to locally design, develop and test a web service and finally deploy it to the AWS Elastic Beanstalk. We will develop a simple web service with top-down approach meaning we will design our web service interface first and then implement it using JAX-WS. To generate Java classes from XML schemas and WSDL, we will use Apache CXF framework. We will also follow best practices while designing and developing our web service.

Let’s design generic XML schemas and a simple, generic, WS-I compliant WSDL. A good practice is to design business objects and messages that envelope business object in web service operations, separately and in different namespaces.
First, we create a library project (general project in Eclipse IDE) and design two business schemas and three messages for our operation:

  • MyBusinesssEntity.xsd
  • MyBusinessFault.xsd
  • DoSomethingRequest.xsd
  • DoSomethingResponse.xsd
  • DoSometingFault.xsd

Sample schema:

xsd_sample2

Now, we can design a web service interface (WSDL) with a single “doSomething” operation with an input, output and business fault. Best practice is to use envelope messages for input, output and fault. In our case we use three messages – request, response and fault message defined above.

To ensure true interoperability and be compliant with WS-I we should follow best practices and use document/literal SOAP binding. You can read about WSDL styles here.

Now we can start with top-down development of our web service. To enable this, we must configure our environment. We use:

In Eclipse we generate a new Dynamic Web Project with configured Apache CXF and Tomcat 7.0 runtime (make sure your web service runtime is also set to Tomcat 7.0 and Apache CXF). Note we use jdk 1.6.

We add a new top-down web service, select our WSDL from the library project and let Apache CXF and wsdl2java to generate JAX-WS stubs and JAXB Java classes we can use in the implementation.

new_ws

classes

If we take a look at the generated classes we can see they are annotated with JAXB and JAX-WS annotations. We can implement our service in the MyServiceImpl.java class. In the interface we can cleary see the JAX-WS annotations.

service

The service endpoint is defined in the copied WSDL in the WebContent/wsdl foler. In our case the service looks like this:

wsdl_endpoint

To test it we deploy it locally on the Tomcat 7.0 server and use SoapUI to test it.

Now we are ready to deploy our web service on the AWS Elastic Beanstalk that automatically handles the deployment, capacity provisioning, load balancing, auto-scaling and application health monitoring. It supports Apache Tomcat 6 and 7, Microsoft IIS 7.5 and 8, PHP 5.3, Phyton, Ruby 1.8.7 and 1.9.3.

To deploy our application on the AWS Elastic Beanstalk from Eclipse we need the AWS Toolkit for Eclipse. When we configure our AWS credentials (access key ID and secret key are accessible in the AWS portal) in the AWS toolkit, we add a new Server > Amazon Web Services > AWS Elastic Beanstalk for Tomcat 7.0. We choose the region (in our case – Ireland) and configure our application and environment.

aws_server

Next, we can deploy the application with specific key pair, enable SSL, assign CNAME to the server, set the application health check URL and assign the email address for notifications. In our case, we will leave all fields empty. Then we add the project on the server, start it and wait (in our case it took about 8 minutes).

aws_upload

aws_server_started

After the deployment we can take a look at our AWS Managemen Conolse > Elastic Beanstalk. Here we can manage our AWS Elastic Beanstalk applications.

aws_console_1

Our application is hosted in the AWS S3 bucket in the same region as the AWS Elastic Beanstalk application.

s3

 

WSDL of our web service is located on:

  • http://mytestenv-s2y4skscv5.elasticbeanstalk.com/services/MyServiceSOAP?wsdl

Finally, we can test the web service, running on AWS Elastic Beanstalk using SoapUI.

soapUI_aws

 

You can download the sample here.

 

, , , , Hide

Long Live SOA in the Cloud Era

An interesting article why Cloud and SOA are the perfect mix: InfoWorld

No tags Hide

Dynamic adaptation of Coach Views in IBM BPM v8.0

In a previous blog, we have shown  how to create a basic coach view. Since then, I have been doing some more experimenting to achieve dynamic adjustment of view components. It’s hard to admit, but I have spent quite some time, figuring out how to dynamically hide, show or disable a certain view component (e.g. text box), based on a value of a defined configuration option. In my defense, current IBM documentation didn’t offer as much help as it should. (more…)

, , , , , , , , , , Hide

Coach Views in IBM BPM v8.0

Coach Views are new feature in version 8.0 and enable reuse of custom, user-defined coach controls, sections and templates. In practice, this means that we can build one control for a certain business object and use it on multiple user interfaces in multiple human tasks. Because business processes are usually all about modifying a business object through a series of steps, performed by various participants, this is an extremely useful option which saves us a lot of redundant work.

In this blog we will take a look at how to build them and how to use them within coaches.

(more…)

, , , , , , , , , , Hide

At a recent Impact event, IBM announced a next step towards highly integrated, easily scalable business process management environment, IBM Business Process Manager V8.0.

IBM BPM 8 includes tooling and runtime for process design, execution, monitoring and optimization and is focused on continuous and simplified process improvement, adopted for process owners and business users.

(more…)

, , , Hide

Oracle Fusion Middleware 11g R1 PS5 (11.1.1.6.0)

Oracle Fusion Middleware 11g R1 PS5 (11.1.1.6.0) has Kamagra been released. Please check OTN http://www.oracle.com/technetwork/index.html for download.

No tags Hide

Lately, when I have been trying to install a new version (7.5.1.0) of IBM BPM environment, I have encountered an unexpected problem. I have installed Integration Designer along with Process Server and BPM Process Center (PC) on the same virtual machine. After installation, I have first created a Process Server Profile and after and then a PC profile.
Creation of both profiles went smoothly and both profiles started normally. Then, I opened Process Center Console on the second profile and downloaded Process Designer (PD) installation files. I installed PD and tried to open it. And there was a surprise. Although I have just downloaded files from process center, which was therefore obviously running, PD has displayed the following error: “Attempt to connect to the Process Center failed. Verify that the server is running.”. (more…)

, , , , , , , , , Hide

In the first post of this series we have described capabilities of IBM’s BPM platform and today we will take a closer look at Process Designer component, capable of designing and executing BPMN business processes. IBM Process Designer (PD) is a heritage of WebSphere Lombardi Edition and according to IBM enables you to model and implement your business processes and easily demonstrate process design and functionality during development efforts. In this post I will show you how to create and execute a simple process using PD.

(more…)

, , , , , , , , Hide

Older posts >>