Eric D. Schabell: jBPMMigration
Showing posts with label jBPMMigration. Show all posts
Showing posts with label jBPMMigration. Show all posts

Wednesday, November 4, 2020

KieLive: The ultimate beginners guide to rules and processes (episode 14)

kielive ultimate beginners guide

 I've been invited to join the KieLives series online for episode 14 of live streaming around how to get started with rules and processes on Tuesday, November 10th 2002.

What is KieLives? 

The KIE Live Series is composed of live streamings that bring technical information and updates about business automation delivered by the projects under the KIE umbrella: Drools, jBPM, OptaPlanner, and Kogito.

Problems like process automation, decision automation, resource planning solution are the main topics, and of course, we always have in mind recent technology concepts like cloud-native application target for any type of cloud (private/public/hybrid/edge). You can expect to hear from business automation experts who code or/and deliver business automation within big enterprises across the world.

It's one thing to dive into rules and another to dive into process automation, but what about bringing them both together in a getting started learning path?

Join me and the hosts for an hour session online, free of charge, for a learning tour de force.

Monday, May 21, 2018

Get a Signed Copy of Effective Business Process Management with JBoss BPM

effective business process management with jboss bpm
As mentioned previously, a few weeks ago in San Francisco, CA I spent some time signing copies of my book Effective Business Process Management with JBoss BPM for attendees of the Red Hat Summit.

Since the book was launched as a free ebook download on Red Hat Developers, it was not really possible to get your hands on a real paper copy of the book.

Until now.

With over 200 put in print for Red Hat Summit, it was amazing to see the lines of people wanting to meet, greet and obtain their signed copies.

If you would like to receive a copy, possibly signed by me, read further.

Monday, April 30, 2018

Book Signing: Effective Business Process Management with JBoss BPM

developers
Early this year the book Effective Business Process Management with JBoss BPM launched a free ebook on Red Hat Developers that you can download.

Next week I'll be at the Red Hat Summit 2018 conference in San Francisco, CA, at the Moscone Center speaking and presenting a hands-on lab.

The surprise event is that Red Hat authors will be spending time at the booth where we'll be signing copies of our respective books.

Look for me at the following times at the section labeled DevZone ready to give you and sign a copy of Effective Business Process Management with JBoss BPM:
  • Tuesday, 8 May: 12:00 - 13:00
  • Thursday, 10 May: 13:00 - 13:45

Friday, June 17, 2016

Early Access to Effective Business Process Management with JBoss BPM

I have been working in the BPM field for some time now, specifically focusing on the JBoss BPM Suite where Open Source meets rules, events, planning and processes. I started using JBoss BPM technologies while working in a financial institution and the content I published led to being asked to join Red Hat where the passion for these products continued.

The last four years I was focused only on evangelizing JBoss BPM Suite and the content I produced, the talks I have given and the articles I published led to many requests for a book focused on JBoss BPM products.

Early in November of 2015 I decided to listen and put together a proposal for my fourth official publication attempt, hoping Manning would be open to the idea of a book that was not only focused on developers.

There was a process that went back and forth as the proposal was discussed, then early in January of 2016 Manning started a proposal review where they then ask for input from sources in the wild that are knowledgeable of the topics BPM and JBoss.  At the end of February 2016, having collected enough positive input during their review process, Manning committed to the book and I started to write.

Tuesday, January 5, 2016

New path to take...

The year starts with an article I was not expecting to write.

I have spent just short of four years as a JBoss Technology Evangelist (Integration & BPM) for Red Hat's Middleware Business Unit.

I have told countless stories about products like JBoss Portal, JBoss SOA Platform, JBoss EAP, JBoss messaging (several products), JBoss FSW, JBoss DataVirt, JBoss Fuse, JBoss Developer Studio, JBoss BRMS and JBoss BPM Suite.

I have helped to support multiple product launches across the JBoss middleware portfolio, created the jbpmmigration project and watching it fold into a product. I worked through technology acquisitions like Makara, Polymita, FuseSource, FeedHenry and more as they were folded into the JBoss product portfolio. I have showcased our technologies around the world at a multitude of conferences and events.

New year, new challenges!
I had a lot of fun helping to grow and mentor the JBoss Technology Evangelist team as it grew to four members covering the JBoss middleware products. There will be two remaining, Christina Lin and Thomas Qvarnstrom, both very smart and knowledgeable resources you should be following closely.

I was lucky to be able to spend the last few years working with amazing people in and around Red Hat.

But now the time has come.

 I am leaving... well, to be honest, I am moving onwards in my Red Hat journey.

Last month I was offered and accepted a role within the Integrated Solutions Business Unit, as a Technical Product Marketing Manager.

The role is similar in nature to a JBoss Technology Evangelist, but now look for my focus to move from strictly middleware to application development leveraging integrated solutions involving the full Red Hat portfolio. Think of the tying infrastructure, storage, cloud, OpenShift, mobile and middleware products as full solutions as we move forward into 2016 and beyond.

I am excited to have a new challenge before me and at the same time a bit sad to move on from my love of middleware products (especially rules, events, planning and processes). The future is now, the technology is amazing and you can expect to hear all about it from me soon enough.

Stay tuned, there are more stories to tell... 

Thursday, December 31, 2015

2015 in review - On the road with JBoss Integration & BPM

My last article for 2015... the year in review where I get to look back and review my work, play, cycling, running, writing, and travels for the past year.

This year is my seventh year at Red Hat and fourth year as a JBoss Technology Evangelist, covering the Integration & BPM technology products.

We have had a pretty turbulent and exciting time this year with lots of expansion in our Evangelist team and more coming soon now that plans are finalizing for team expansion in 2016.

In April there was the release of JBoss BRMS 6.1 and JBoss BPM Suite 6.1, which included full support for the new Business Resource Planner component.

I spent a lot of time traveling to talk about these products and to also preach on the topics of PaaS with OpenShift, but I must admit that there too I was mostly focusing on how to get started with JBoss BPM and rules technologies.

Not to be forgotten, the jbpmmigration project continued to evolve and is still an integral part of the process designer component found in JBoss BPM Suite product. Always nice to be able to contribute something to our efforts to help customers.

Finally just in time for the end of this year, there was the release of JBoss BRMS 6.2 and JBoss BPM Suite 6.2, which I kicked off with the first in a series on some of the newest features. I also provided an ultimate collection of JBoss BPM Suite demos to showcase the new release.

Writing

Aside from the articles here (134), content published on DZone and my continuing side hobby of sports journalism for the Red Sox fan site RedSoxLife.com (40), I was able to focus on a couple of very comprehensive product based starter kits.

There is now a JBoss BPM Suite starter kit and a JBoss BRMS starter kit, both highlighted around the world at various meetups, JBug and JUG events. On top of that they were featured in Red Hat webinars. They are the one stop shopping for all things to get you started with our products.

On top of this writing I also published various video tutorials on Vimeo and Youtube. Along with these tutorials you will find all my demo projects on JBoss Demo Central, your one stop shopping for all things related to JBoss Integration & BPM products.

Travel

The places I went and the people I met again this year are what make the efforts we put into JBoss worth the time and jet-lag. I wish I would be able to list everyone and every place but that is just not possible. I enjoyed the chats, the beers, the hanging out, the presentations, the workshops, the dinners, lunches and meetings with each and every one of you.

Here are some of the 21 cities I visited in 6 countries this year, just to give an impression of the spaces we covered while I told stories around JBoss, BPM, Rules, Events, PaaS, xPaaS and OpenShift.
  • London, UK (2x)
  • Scotland (2x)
  • Denmark
  • Sweden
  • Netherlands (2x)
  • Boston (8x)
  • Washington DC
  • Atlanta
  • Las Vegas
  • Got a bit beach bound in 2015!
  • Raleigh (4x)
This was all to facilitate various conferences, Java User Groups (JUG's), partner events, customer workshops and JBoss User Groups (JBug's).

Probably the most special trip of 2015 was late in the summer when I was able to move my family from the Netherlands to the coast of North Carolina.

You will notice that my travel and focus on JBoss BPM has been targeting mostly North America and that was the plan that involved my placement here in the USA.

I have been working since then, producing JBoss BRMS and JBoss BPM Suite content while being able to walk down to the beach that is just five minutes from my front door. Red Hat is a very flexible employer and I am very happy that this was possible.

Online workshops

One of the major items launched last year and updated throughout 2015 was my online rules, events and process (BPM) workshop series. It is a full blown walk through showing you how to build a project from scratch for both JBoss BRMS and then JBoss BPM Suite, now showcasing versions of the product from 6.0.3 through to 6.2.

There has been a massive response to this and after feedback it has evolved into the version you see now that has been presented at various partners, customers and JUG's around the world.



This content is tied into the starter kits I mentioned above and have also been put into canned versions so that you can setup and host your own workshops, meetups or user groups.

Thanks to you all

I certainly hope you enjoyed what we were able to bring to you in 2015.

I want to thank you personally for attending any of the webinars, conference sessions, workshops, JUG's, and JBug's were our paths might have crossed or for just taking the time to read a published article.

2016 is going to start with a bang, so join me on this wonderful ride as we explore the amazing things you can achieve with the Red Hat product portfolio... stay tuned!

Monday, June 22, 2015

Released jBPM Migration Tooling v0.14

Got your ducks in a row?
With the new version of JBoss BPM Suite in the works, it is time again to release the work being done on the jbpmmigration project.

With thanks to Petr Široký for the fixes and release work, we are happy to announce the availability of the jBPM Migration projects, jbpmmigration v0.14.

We have fixed a few issues, added release to JBoss Nexus, and we remain at a test total of 42 process conversion examples.

The OpenShift jBPM Migration WebApp has been updated to run with the current release, you can find it here and test your processes against the migration tooling.

         http://jbpmmigration-inthe.rhcloud.com.

Future planning is to include this update into the jBPM Designer within the JBoss BPM Suite product soon.

We hope you enjoy converting your jPDL 3.2 into BPMN2 with this release.

Wednesday, November 26, 2014

JBoss Demo Central For All BRMS & BPM Suite Projects

There is a new central repository for all your Red Hat JBoss BRMS and Red Hat JBoss BPM Suite demo project needs.

Not only will you find a complete listing of available demo projects to get you started with these products, but you will find much more.

There is a JBoss BRMS starter kit.

There is a JBoss BRMS xPaaS list of projects now available for use with OpenShift on our brmsPaaS.

There is a JBoss BPM Suite starter kit.

There is a JBoss BPM Suite xPaaS list of projects now available for use with OpenShift on our bpmPaas.

These listings also include the various integration examples where multiple products are tied together in a single architecture to demonstrate the best integration usages of these technologies:

Be sure to put a watch on this repository as there are also pages of information that are coming soon around JBoss EAP, JBoss Data Grid, JBoss Fuse, JBoss Data Virtualization and JBoss Fuse Service Works.



Monday, August 25, 2014

The Ultimate Starter Kit For JBoss BPM Suite

There is nothing quite like getting your game on with a new BPM technology or product.

The same is true of Red Hat JBoss BPM Suite in that you have enough resources at your disposal to kick-start your journey, but where to start?

There is a vast amount of information online but we want to start our journey with the basics to get us going.

Something more in the way of a practical 'hands on' start to BPM with JBoss BPM Suite.

Introduction

This announcement is bringing just that, an ultimate JBoss BPM Suite Starter Kit, that is an outline to provide you with the ability to hit the ground running.

You get a straight forward, easy to consume and ready to go set of resources that will have you producing BPM artifacts with JBoss BPM Suite in a matter of hours.

The starter kit

We have put together the following for you in the JBoss BPM Suite Starter Kit:
  • outline of who the starter kits are for
  • getting started with the kit
    • simple workshop online
    • demo project online
  • provide a workshop in the OpenShift Cloud to take away
  • walk through what you will learn in this workshop
  • send you on your way with resources
    • in depth article archive
    • best practices 
    • tips & tricks series
    • how to video archive
 What are you waiting for?

There is no time like the present to get your very own BPM education going with the hands on approach provided by the JBoss BPM Suite Starter Kit!

Friday, March 7, 2014

Released jBPM Migration Tooling v0.13

Got your ducks in a row?

With the new version of JBoss BPM Suite in the works, it is time again to release the work being done on the jbpmmigration project.

We went to work and are happy to announce the availability of the jBPM Migration projects, jbpmmigration v0.13.

We have fixed a few issues, added release to JBoss Nexus, and have added new tests bringing the total up to 42 process conversion examples.

The OpenShift jBPM Migration WebApp has been updated to run with the current release, you can find it here and test your processes against the migration tooling.

         http://jbpmmigration-inthe.rhcloud.com.

Future planning is to work on including this update into the jBPM Designer as soon as we can.

We hope you enjoy converting your jPDL 3.2 into BPMN2 with this release.


Thursday, January 30, 2014

JBoss Webinar Slides Available - Getting a move on with JBoss BPM Suite 6


I broadcast previously that I would be doing some storytelling on a webinar this week, around Red Hat JBoss BRMS & BPM Suite products.

This webinar was to give a light overview and then take a look closer at the migration of an older JBoss BRMS 5 project to the soon to be available JBoss BPM Suite 6.

There were over 300 registrations for this event and I got a lot of questions online during the event that I was not all able to get to. Don't worry, I will be getting to them over the next week and get back to you personally if you asked a question that did not get answered live online.

Here are the slides I used, for your viewing pleasure.


Watch for those replies and thanks for joining me for this story!

Tuesday, January 21, 2014

JBoss BPM Suite Workshop in Tokyo Japan



Last week I spent two full days with the Red Hat middleware team in Tokyo, Japan giving a workshop to partners, customers, and a few internal people on the Red Hat JBoss BPM Suite product.

There were around 30 in attendance and the experience of teaching through an interpreter was one I will never forget. It was a fantastic group from the Tokyo office, including Solution Architect teams that supported the lab portion of each day as most of the attendees needed Japanese language support.

Some of the highlights included my interpreter helping me decipher the vending machine outside so I could buy the right type of coffee... talk about a process!

There was also a good section covering both localization with the JBoss BPM Suite showing a demo running fully in Japanese and a good look at the migration strategy for getting from the previous version to the JBoss BPM Suite 6.

One evening the team took us out to experience real Japanese culture, Karaoke, something I won't soon forget!

Finally, I met with and got Hisao Furuichi to commit to translations of the articles found here around JBoss into Japanese, so keep your eyes peeled for more of that in the future.

Here is a photo impression of the two day event including some of the fantastic food that the local area offered.


I look forward to the next trip to Japan.

Monday, January 13, 2014

JBoss BRMS & BPM Suite Workshop Singapore

This last week I was in Singapore to expose the APAC regional colleagues to the wonderful world of Red Hat JBoss BRMS & Red Hat JBoss BPM Suite.

This was a two day workshop with over 24 attendees from places around the region like Japan, Singapore, Korea, Australia, China, and Taiwan.

The workshop consisted of the following dives into the various aspects of the rules and process products with a heavy emphasis on the delta of change between the previous JBoss BRMS and the new JBoss BPM Suite.

Day 1

  • Overview what’s new
  • Deployment lifecycle
  • Lunch
  • Data modeling
  • Forms modeler
  • Task and Process
  • Service Tasks

Day 2

  • Simulation
  • Business Activity Modeling (BAM)
  • Execution Server
  • Lunch
  • KIE API
  • Product Demo Installations
  • Migration JBoss BRMS 5.3 → JBoss BPM Suite Story

For an impression of the week I have included the following photos.


Next week I am off to Tokyo, Japan for a partner workshop.

Friday, January 10, 2014

JBoss BPM Suite Webinar - Get a move on with JBoss BPM Suite 6


I will be hosting a webinar on the topic of migration from the current version of Red Hat JBoss BRMS 5 to the upcoming release of Red Hat JBoss BPM Suite 6 on January 30th, 2014 at 16:00 UTC, 11:00 New York, 17:00 Paris, and 21:30 Mumbai.

I have written some material on this topic and you can freshen your knowledge before this webinar you can review the Migration Tips and fully migrated Customer Evaluation project articles.


Abstract
Learn about Red Hat’s business process and business rules management solutions and migrate to Red Hat JBoss BPM Suite 6.

Red Hat JBoss BPM Suite 6 is now in beta in the Red Hat Customer Portal and will soon be generally available. With its new functionality to help you deliver significant value, take some time to consider the “hows” and “whys” of a move from Red Hat JBoss BRMS 5 to the new JBoss BPM Suite 6.

JBoss BPM Suite 6 use cases
In this webinar, we’ll highlight the use cases for Red Hat JBoss BPM Suite 6 and cover best migration practices, including:

  • Migration concepts.
  • Key migration focus areas.
  • Estimating the level of effort required for a migration.
  • A demonstration of migrating from JBoss BRMS 5 to JBoss BPM Suite 6.
  • Links to a project’s code base both before and after a migration.

Monday, December 23, 2013

Devoxx 2013 Parleys Channel Adds JBoss OpenShift Primer

As I mentioned previously, I was at Devoxx 2013 talking OpenShift Primer and how you can spin up a lot of JBoss into the Cloud along with almost any other application.

This talk was one of many JBoss talks recorded and released on Parleys.com. Over on Arun's blog you can find a complete listing of what we all did there during Devoxx 2013.

Here is the link to my talk recorded live in Antwerp:



Friday, December 6, 2013

JBoss Developer Day in London 2013 - a day of integration, BPM, and OpenShift

Live demo of the BPM Suite & OpenShift

This week I was in London at the JBoss Developer Day to present in two session slots. The talks I posted previously, but the day itself was attended by a good group of customers and contacts that were both knowledgeable and engaged.

The setting was an intimate kind of theater workshop with an amazing cafe off the back with outstanding coffee for us in the breaks. I spent time chatting with many of them and also with several of my colleagues in sales, engineering, and support so the networking was as good as the sessions provided by the speakers.

The slides for both talks are provided here for your enjoyment.

A look into the crystal ball at JBoss BRMS and BPM Suite



OpenShift Primer - Get your applications into the cloud




Thursday, November 28, 2013

Migration Tips - moving projects from JBoss BRMS 5 to JBoss BPM Suite 6

Getting ready for your migration?

This migration article will try to put into perspective the daunting task that any developer faces when asked to evaluate the move from one version of a product to another.

Introduction

We will try to put the aspects that need your attention, allowing you to evaluate your personal project for migration to the new Red Hat JBoss BPM Suite v6.

It should be understood that the JBoss BPM Suite 6 product represents a superset of the JBoss BRMS 6 product. Therefore, by covering the BPM example project we will automatically cover rule project assets as we go along.

For the rest of this article we will be using an existing JBoss BRMS 5 project that we migrated to JBoss BPM Suite 6, providing the links to the projects code base both before and after the migration:
Please read the projects files for links to other articles describing requirements, products, and how to both install and run these demos in their respective IDE or product UI components. Also note the first demo project is more maturely documented at this time, the newer version will be expanding over time so check back regularly or feel free to submit any changes you feel could be of use.

Foundations

The backbone of the new JBoss BRMS & BPM Suite 6 products is based on using GIT as the repository for all your rule and process assets. Where as the older JBoss BRMS 5 product used a JCR repository based on Jackrabbit, we now seem to have the ability to migrate our projects into the new product with a single push of our project into a new repository.

Or is it not that simple?

Unfortunately it is not that easy. First you need to understand that the git backend is usable by all tools that support it. For example, the git CLI tooling you can use from your favorite shell work 100% with this repository. What is important to understand is that the current UI provided by the JBoss BRMS & BPM Suite products are not full git implementations. They currently interact in a very simplified way and when unable to interact will often just present an empty repository view.

To get the current product working correctly depends on adhering to the needed structure of your git repository. To ensure a project will be available in the products wonderful graphical interfaces, one should create an empty project within the UI with placeholder files for processes, rules, and whatever else you need. It is then a simple matter of running a git clone of this project into your favorite IDE to start migrating your project.

Once you have the project cloned, you can add your assets into the project in the correct locations based on the placeholder files. For example, I created an empty customer.bpmn2 file and added my customereval.bpmn2 file right next to it. I proceeded to then remove the old placeholder file and push this all into the repository. The UI of the product automatically picks up the changes and my process asset appeared for use in the designer.

Rules files import this same way without incident, other than that you will need to ensure your package name is aligned with your new project structure. The product has a UI that is tailored for a more business oriented user, therefore you can expect the old package naming of the customer evaluation demo, org.jbpm.customer.evaluation, to be more simplified. Ours turned out to be a simple package name of customer.evaluation so we adjusted this in our rules file and all was good.

The model for our project consists of two Java classes, or POJO's, a Request and a Person. These needed to be imported into the correct location for the form modeler component to identify, and they would not appear until the package name was corrected as discussed above.

There is a fundamental change in how you access your projects assets, so once you have the rules, processes, and your projects model in the product, this will be main available via a maven repository, built as a simple jar file. Below we will cover these details in the section Maven.

This means you can split your project into the code project that leverages your rules, events, and processes and the actual artifacts themselves. They will be contained in a project that deploys a jar that you leverage in your application code. Your unit tests will reside in your applications code project and leverage the generated jar dependencies.

The API's

The core API of the products has been fully refactored. You have to migrate everything you did to interact with the core of rules, events, and processes.

Eventually.

For now, you can use the provided backwards compatibility found in the knowledge-api.jar provided just for the projects that want to ride the old waves. Currently it can be found in the deployable-generic.zip, but that could change as the product approaches general availability (GA) status.

As for the other half of your enterprises code base, the unit tests that leveraged the jbpm-test.jar will need to be refactored. This jar does not provide for any backwards compatibility and we had to rewrite our existing unit tests. The good news is that the code is simplified, making your unit tests cleaner and easier to understand.

For both these jars, you can add them to your maven dependencies once these are made available. We have included and example internal repository where the maven dependencies are found, purely for your information in the migrated customer evaluation project.

The RestAPI has also changed. It will require some work to re-engineer your custom user interfaces that you might have created. The RestAPI provides you with access to the following areas:
  • Jobs
  • Repositories
  • Organizational units
  • Projects
  • Process instances, with or without vars (start, variables, details, abort, signal)
  • Work items (complete, abort)
  • History to view process instance completed
  • Comprehensive task interface
You can find documentation on this online at the Customer Portal.

JCR to GIT tooling

There is a community tool for migration of existing JCR repositories to the GIT repository format. At this time there was nothing to test but it is being exercised in the productization process.

Will this be the hammer that makes all your migrations look like a nail waiting to be hit?

Stay tuned for more on this as it has yet to be included in the early Beta releases.

Maven details

JBoss BRMS & BPM Suite products maintain a maven repository that you can add to your project for accessing the rules, events, and process project dependencies. Just add the following to your project pom file and you will be ready to locate dependencies:


   guvnor-m2-repo
   Guvnor M2 Repo
   http://localhost:8080/business-central/maven2/


As an example, assume that we have defined our customer evaluation project properly with a GAV (GroupID, ArtifactId, Version), we can then add the dependency for the version 1.0 jar as follows:


      customer
      evaluation
      1.0


Finally, the most important tip here is to never clone your repository from the filesystem, but always use the running product git URI. Referring to our running example of the customer evaluation demo, you would clone that outside of the product using CLI or your favorite IDE by accessing the project under:

# Never use the filesystem directly as it is not monitored by the product,
# so this is a bad practice: 
#
#    git clone file://{path-to-repo}/.niogit/customer.git
#
# This is the best practice, for example using git from a shell:
#
$ git clone git://localhost/customer

Cloning into 'customer'...
remote: Counting objects: 562, done
remote: Finding sources: 100% (562/562)
remote: Getting sizes: 100% (435/435)
remote: Compressing objects:  89% (388/432)
remote: Total 562 (delta 24), reused 72 (delta 21)
Receiving objects: 100% (562/562), 59.21 KiB, done.
Resolving deltas: 100% (198/198), done.

Task updates

The JBoss BRMS 5 product provided a task server that was bridged from the core engine by using, most commonly, the messaging system provided by HornetQ.

The new JBoss BPM Suite product will provide only support for the task server running locally, so no more messaging to be setup. To help you bridge the gap until you can migrate this in your current architecture, there is a helper or utility method, LocalHTWorkItemHandler. It can be found in the source code (separate download) if you want to investigate further at
jbpm-human-task/jbpm-human-task-workitems/src/main/java/org/jbpm/services/task/wih/util/LocalHTWorkItemHandlerUtil.java

Furthermore, the TaskService API is part of the public API, so there are just a few things to keep in mind when migrating:
  • package changes will cause a bit of refactoring your imports
  • some API changes will cause refactoring of methods
Customer evaluation demo
As most customers have created custom interfaces and interacted extensively with the human task component, expect to have some work here to migrate this area of your architecture if using tasks in your processes.

Migration in practice

Looking specifically at the project customer evaluation, we wanted to migrate a simple application that contains rules, a model, a unit test, and a process. This migration would provide factual evaluation as to the ease with which various aspects of the application could be migrated.

Here we would like to present the findings and point you to the project results (ongoing) of the migrated customer evaluation demo.

Unit Tests

We started with the unit tests and updated the pom.xml file to point to the internal production maven repository and included just the dependencies for the knowledge-api, plus the jbpm-test jar. This code snippet shows just the generic entries for the necessary jars, leaving out the exact version that is set as a property for the current release. You will also note that we leave out the repository entry that will be set to the maven repository you have the product dependencies stored in.


   org.jbpm
   jbpm-test
   ${bpm-suite-version}
   test



   org.drools
   knowledge-api
   ${bpm-suite-version}
   compile


Results of migration unit test.
Once these dependencies are in your project you can then begin the refactoring needed to change your current unit tests into the ones you will find working in the projects folder.

This includes an entry to eventually pull in the jar compilation of the product hosted artifacts, see the comments inline within the pom.xml file.

The initial setup used to involve a KnowledgeBase and a StatefulKnowledgeSession.

This has been reduced to just setting up a session strategy and RuntimeEngine.

# The createRuntimeManager() method and getRuntimeEngine() method are 
# both part of the provided testing harness found in JbpmJUnitBaseTestCase
# class that you can extend all unit tests off of.
#
createRuntimeManager(Strategy.SINGLETON, resources);
RuntimeEngine runtime = getRuntimeEngine(ProcessInstanceIdContext.get());

Where the older unit tests had to manipulate the sessions, we now have a streamlined case for each unit test.

@Test
public void underagedCustomerEvaluationTest() {
 // setup of a Person and Request.
 Person underagedEval = getUnderagedCustomer();
 Request richEval = getRichCustomer();

 // Map to be passed to the startProcess.
 Map params = new HashMap();
 params.put("person", underagedEval);
 params.put("request", richEval);

 // Fire it up!
 System.out.println("=========================================");
 System.out.println("= Starting Process Underaged Test Case. =");
 System.out.println("=========================================");

 KieSession ksession = runtime.getKieSession();
 ksession.insert(underagedEval);
 ProcessInstance pi = ksession.startProcess("org.jbpm.customer-evaluation", params);
 ksession.fireAllRules();

 // Finished.
 assertProcessInstanceCompleted(pi.getId(), ksession);
 assertNodeTriggered(pi.getId(), "Underaged");
 ksession.dispose();

 System.out.println("======================================");
 System.out.println("= Ended Process Underaged Test Case. =");
 System.out.println("======================================");
}

You will find the completely migrated unit test in the project src/test/java/CustomerEvaluationTest.java and can run this as a JUnit test.

From IDE to UI

The final step would be to import the existing rule, two Java classes that make up our domain model, and the BPMN2 process.
Designer with imported process.

To achieve this we started our JBoss BPM Suite and create a new repository and project. We then created empty placeholder files for the process and rule.


Back in our IDE we cloned the project with git clone git://localhost/customer and proceeded to locate the exact files we had inserted. We then removed these and added our existing rule and process files. After pushing them back into the project, they appeared in the UI project explorer. They only needed adjustments to the packaging as that had changed when we created our project, from a long package name to just customer.evaluation.

Importing the model was the same story, first creating an empty model via the form modeller
component and then replacing the file with our two java objects. Once the packages were adjusted to match the project definition, they appeared in the UI.

Form modeller with imported model.
The form modeller creates objects with annotations and our objects currently do not have them. This is causing some issues when we try to run the process (which builds and deploys). The JBoss BPM Suite attempts to generate a user task form to submit the initial process variables, but as they are objects and not the string fields we are provided, this fails.

Conclusions

These are the early days of JBoss BRMS & BPM Suite products, so an early look at the migration possibilities is just that, an early look. This is not the definitive guide to migrations, but a summary of the areas that will be affected and what you can expect based on a small sample application.

The issues around annotations on our model, dealing with importing a model, packaging paths all seem to be worth investigating further. This should be taken care of once the final documentation is provided for the product.

Note that the projects/customer-evaluation-demo is intended to be imported into your JBoss Developer Studio and interact with the running project in the BPM Suite. This is currently a work in progress, so watch for progress updates as the final product launch approaches.

We will continue to migrate our other demo projects and follow up with updates of what is encountered along these lines. Each project will be more complicated and involve exercising more and more of the product functionality, integration, and usability.

Wednesday, November 13, 2013

Devoxx 2013 impressions of a JBoss OpenShift Primer

This year spending a few days at Devoxx 2013 in Antwerp with some of the JBoss friends I have, both old and new.

This event is amazing for the volume of attendees, 3500, and the quality of the talks is only paralleled by the value of networking with all of your fellow Java contacts.

I spent time chatting with Ray Ploski, Mike Piech, Koen Aers, Dan Allan, Dimitris Andradis, Emmanuel Bernard, Xavier Coulon, Tim Fox, Arun Gupta, Gavin King, Jason Porter, Burr Sutter, the local SA team, many customers, and a vast array of partner contacts.

I sat in on a few sessions but I had the most fun chatting with customers, partners, and users of the JBoss projects and products. There were also a nice set of mini JBoss sessions given throughout the conference days at the Red Hat booth.

My talk was in room 9, a large movie theater with about 300 attendees.



The following is a collection of pictures to give you a bit of a feel for the Devoxx experience.


There were also various mini sessions held at the Red Hat booth throughout each day. I was scheduled to give a talk on Wednesday, but something came up that prevented me from making my slot. I post the slides here for your enjoyment none the less.


See you next year at Devoxx 2014!

Friday, October 18, 2013

OpenShift Primer - a JBoss workshop coming soon to JAX London 2013

I mentioned that I was invited to give a workshop, three hours on Monday, 28 October at JAX London.

This workshop would be based on my e-book, OpenShift Primer, with a focus of getting you hands on to work with the Cloud technology and a few JBoss middleware examples.

My session is from 0900 - 1230 hrs and I will be joined by Rhys Oxenham, our UK Cloud Guru who will show you some OpenShift magic as well.

So get yourself registered, meet me with your laptop at the assigned room, and we will have us a few hours of fun with OpenShift.

During the workshop I will give away a few copies of the e-book, so be sure to pay attention or you might miss something. ;)

Monday, September 30, 2013

GOTO Aarhus 2013 - Impressions of OpenShift Primer

Impressions from
GOTO Aarhus 2013
Today I was in Aarhus, Denmark at the GOTO 2013 conference where I presented a session based on my OpenShift Primer book.

It was an extremely professional conference, well organized, well visited (I would estimate around 800 attendees), with a large exhibition area where we could easily mingle with sponsors and attendees.

I gave my talk in a room for about fifty attendees, which was part of a music school which gave it really nice acoustics.

They might post video of the session, not sure so watch the main GOTO site for that information.

My slides are here online, linked from the OpenShift hosted project with Awestruct: http://presos-onthe.rhcloud.com



For those of a more traditional nature, here are slides you can download.