Eric D. Schabell: November 2015

Wednesday, November 25, 2015

JBoss BPM Suite 6.2 - RestAPI authentication for client applications

For the astute JBoss BPM fan it will not have escaped you that the community has been hard at work putting together a lot of new features for the upcoming JBoss BPM Suite 6.2 release.

With the early internal Red Hat releases being made available, some of the testing I do around updating the array of demo projects we have has revealed a subtle change. It got me to thinking that I could point out a few of these tips and tricks to your as the product approaches delivery to the public.

The RestAPI is a much used feature of JBoss BPM Suite and one if the first changes you will bump into is that the user making use of the interface needs to have a new role added to their privileges.

If you use a previous client application that was connecting to JBoss BPM Suite, the user did not need a specific role. For example our Generic Loan demo project contains a client application to pre-load our process.

 java -jar jboss-generic-loan-demo-client.jar erics bpmsuite1!

The results of this call in JBoss BPM Suite 6.2 without the new role would be:

 
Exception in thread "main" org.kie.services.client.api.command.exception.RemoteCommunicationException: Unable to retrieve content from response!

at org.kie.services.client.api.command.AbstractRemoteCommandObject.executeRestCommand(AbstractRemoteCommandObject.java:425)
at org.kie.services.client.api.command.AbstractRemoteCommandObject.executeCommand(AbstractRemoteCommandObject.java:128)
at org.kie.services.client.api.command.KieSessionClientCommandObject.startProcess(KieSessionClientCommandObject.java:286)
at com.redhat.bpms.examples.mortgage.CreateProcesses.populateSamples(CreateProcesses.java:57)
at com.redhat.bpms.examples.mortgage.CreateProcesses.main(CreateProcesses.java:47)
Caused by: org.kie.remote.common.rest.KieRemoteHttpRequestException: Unable to retrieve input stream of response
at org.kie.remote.common.rest.KieRemoteHttpRequest.responseStream(KieRemoteHttpRequest.java:1365)
at org.kie.remote.common.rest.KieRemoteHttpRequest.responseBuffer(KieRemoteHttpRequest.java:1383)
at org.kie.remote.common.rest.KieRemoteHttpRequest.responseBody(KieRemoteHttpRequest.java:1325)
at org.kie.remote.common.rest.KieRemoteHttpRequest.access$2100(KieRemoteHttpRequest.java:117)
at org.kie.remote.common.rest.KieRemoteHttpRequest$4.body(KieRemoteHttpRequest.java:1291)
at org.kie.services.client.api.command.AbstractRemoteCommandObject.executeRestCommand(AbstractRemoteCommandObject.java:404)
... 4 more

Caused by: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1637)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at org.kie.remote.common.rest.KieRemoteHttpRequest.responseCode(KieRemoteHttpRequest.java:1305)
at org.kie.remote.common.rest.KieRemoteHttpRequest.post(KieRemoteHttpRequest.java:719)
at org.kie.services.client.api.command.AbstractRemoteCommandObject.executeRestCommand(AbstractRemoteCommandObject.java:392)
... 4 more
The role needs to be added to the file application-roles.properties and put into the standalone server directory, jboss-eap-6.4/standalone/configuration/application-roles.properties. For example, in our project you will find it looks like this:

erics=analyst,admin,manager,user,loanOfficer,kie-server,rest-all
Now when you run the client application to pre-load your processes you will see:


$ java -jar support/jboss-mortgage-demo-client.jar erics bpmsuite1!

Started process instances successfully!
Looking to Automate your business?
For more details you can explore this in the Generic Loan demo project as found in JBoss Demo Central.


Friday, November 20, 2015

jBPM lead Kris Verlaenen talks process-driven application at Devoxx (video)

Devoxx 2015 wrapped up a few weeks ago, but the video content they put together for each and every session is becoming available online via YouTube for the first time this year.

Kris Verlaenen presented a full hour session on the features, including several demonstrations, that will be coming in the next product release of JBoss BPM Suite 6.2. What he demonstrates are a few example projects that leverage the current community project jBPM and are well worth the time to explore hands on with Kris in this BPM hour of power.

As he states in his report, "In the demo, I built out a small expenses process, and a custom screen (using AngularJS) that can list my current expenses and create new ones just the way I want to. You can even add some small dashboards to keep track of the number of open expense reports or a quick overview of how many expense reports you submitted in the last year and when.

I also showed how to support more flexible and adaptive cases, where you want to give the end user the capability to make decisions or to dynamically add new tasks (all the way to the extreme where you don't define anything upfront but start a new ad-hoc case)."





The full report from Kris himself can be found over on his site Processes, Rules and Events.

Wednesday, November 18, 2015

Quick Tour #3: How to install JBoss BRMS (video)

With the announcement that we have updated the JBoss BRMS Starter Kit you might have noticed that a few quick tour videos were promised.

On that promise we are starting to deliver with a series of short and simple video stories.

Today another in the series, we show you in just over two minutes how to install JBoss BRMS for working on the JBoss BRMS Starter Kit.

We hope you enjoy this story and stay tuned for more...



Did you miss the other quick tour videos?
    1. Quick Tour #1: JBoss BRMS the Basic Install Project 
    2. Quick Tour #2: Where to get JBoss BRMS product
    3. Quick Tour #3: How to install JBoss BRMS
    4. Quick Tour #4: Start your first JBoss BRMS project
    5. Quick Tour #5: How to import a project into JBoss BRMS
    6. Quick Tour #6: Build & run a JBoss BRMS project
    7. Quick Tour #7: What's in Business Central
    Looking to Automate your business?

Monday, November 16, 2015

OSCON 2016 submission - Riding the seas of change with an online retail travel agency

I have submitted a talk to OSCON 2016 in Austin, Texas next year on May 18-19th.

The trigger was a rather interesting category around real life solutions and how Open Source can be applied.

They described it as:

"Hearing about how a company or team has succeeded with a new initiative, implemented a new language, or reconfigured their architecture is fascinating—so is listening in on the failures. Both success and failure have a lot to teach us. As individuals we have a limit to how many of those we can complete in one year so this track is about sharing war stories and life on the front lines. Help the person beside you and tell your story. All proposals here should be in the form of real-life stories. How did you go from a monolith to microservices? Now that you’ve migrated to microservices, how do you manage them in production? How did they hack your system?"

With this in mind, I have put together a story around the JBoss BPM Travel Agency to highlight OpenSource solutions when migrating to microservices and then later when an acquisitions requires the need for data virtualization solutions to prevent bookings losses mid-season.

The talk outline is listed below.

Summary

The attendee will journey with a small retail travel agency that weathers the storms of doing business in a fast moving, modern IT landscape. The adventures start with a microservice migration, continues with a mid-season acquisition of a sister agency requiring an agile data virtualization solution to prevent revenue loss. Hold on tight as you ride stormy seas of a retail travel agency business.

Abstract

This session will take the attendee on a journey as a small retail travel agency weathers the storms of doing business in a fast moving IT landscape. The attendee will be taken from initial implementation of a services based architecture for a travel booking solution, through a microservices migration, to finally dealing with an acquisition of a sister agency during the high point of the booking season that requires virtual data integration solutions.

Attendees will be:

  • given insights into a retail travel booking solution based on Open Source software.
  • shown how rules and events can be leveraged for fraud detection on payment methods.
  • provided with complete access to project solution that migrates existing services to microservices.
  • taken on the journey of acquiring a sister agency during the high point of the travel booking season.
  • shown how both agency's data sources were integrated without disrupting booking processes or revenue generation.
  • left with example projects showing how solutions were implemented for further review after session.
  • pointed to workshop materials where they can get hands on with the solutions presented.

Be ready to hold on tight as you ride the stormy seas of a retail travel agency's business as it grows and adapts to their ever changing retail markets using Open Source software solutions.

Sound like something worth attending?

Thursday, November 12, 2015

Webinar slides from 6 Steps to Your First Process with JBoss BPM Suite Starter Kit

Click image to register for webinar
Today I presented the webinar about the basics to getting started with JBoss BPM Suite.

No more excuses, you can now start learning business process management (BPM) for free with the product and professional guidance with the JBoss BPM Suite Starter Kit.

There really is no better way to get your feet wet and start your first process project with JBoss BPM Suite, so be sure to register online today.

Note, this webinar was recorded so that if you miss the live event, you can still register to see the recording.

Slides from webinar:



Hope you enjoyed the JBoss BPM Suite Starter Kit.

Looking to Automate your business?

Monday, November 9, 2015

Impressions from Building Business Capabilities (BBC) 2015

This last week I spent on the ground at Building Business Capabilities (BBC) 2015, a conference for business analysts and organized by business analysts.

This was a bit of a different type of conference than the ones I tend to speak at, those being more technical in nature and this one being more about the aspects that business analyst have to deal with on a daily basis. This is what made it so fascinating for me, to hear their stories and understand what we as Red Hat meant to them when trying to solve their problems or fill in a solution.

Generation based research shows
example reactions to leadership
actions, by Dr. Mary.
The conference was the entire week with Monday and Tuesday filled with pre-conference tutorials which are more hands on sessions. There were tutorials on decision management, process design principles, business architects practices and many more. I chose to skip this part of the conference and arrived for the main event from Wednesday through Friday.

The keynote was very well done by the famous Dr. Mary Donohue who talked about how to lead when nobody is listening. This was a take on the ways we operate as humans, what the cognitive aspects are backing her theories and a great example of how our audiences are reacting to our leadership actions based on generation research. Very entertaining and well delivered, probably on of the best keynotes I have seen with regards to conference applicability, content and delivery.

After that I spend the next few days enjoying the conversations as you bump into some very interesting people that work more on the business side of our technology. There were over 1500 attendees I was told and a vast array of industries were represented. Got the chance to talk to business analysts from branches such as retail, insurance, finance, railways, infrastructure and airlines.

Over 1500 attendees, business analysts everywhere!
There were also many interesting vendors in the fields of business rules, business dictionaries, consulting, decision management and business process management that we chatted with. I have a few new tools and vendors I plan to look deeper into in the coming weeks.

Signavio with whom we have been working with over the last few months was on-site with a booth so we got to spend some time with their US sales team and product manager. A lunch and learn session by Tom Debevoise covered Signavio's vision on decision management and Decision Management Notation (DMN) was notable with an invitation to join the evening impromptu OMG standards meeting to discuss DMN.


A session by Jerry Vaughn and Jeanine Bradley called Defining & Selling Strategic Change Programs at Railinc covered what it took to align, convince, gather and sell the $5.5 million dollar project to align an array of business logic and applications to industry standard processes within the rail industry. Fascinating and well delivered with concise overviews of the planning, the approach and the hurdles they had to take to pull together a very convincing story for funding major improvements across a complex business landscape.


This was so interesting that I took the time in the following break to catch up with the speakers team and some of the actual business team that has been involved with this project, great insights as to how JBoss technology is used in a small part of a bigger business innovation solution.


This is but a small taste of what we experienced, there were too many to go into detail on each and every one. The sessions and speakers can be found online and the slides have been made available there too. All in all, this was a conference I would recommend to anyone interested in meeting with and mingling in the world of business solutions to chat with the practitioners and tooling vendors in this space.
Looking to Automate your business?

I hope to be back next year!


Friday, November 6, 2015

JBoss Technology Evangelist - 3 keys to becoming an evangelist

A questions I often get is, "What is it that a JBoss Technology Evangelist does?"

After spending a minute on a short overview, the next question is almost always, "How can I get a role like that?"

Leaving it to the reader to research the background of the word 'evangelist', we will instead outline the key characteristics that every effective JBoss Technology Evangelist has.

JBoss is a community of middleware community projects that are then leveraged by Red Hat to produce a full range of JBoss middleware products. While Red Hat employs Developer Advocates to promote these community projects and foster developer focus on JBoss technologies, it is the products Red Hat sells that receive a more focused attention. This focus is provided for each product by a JBoss Technology Evangelist,

 What is it that they do exactly and what can you do to align your efforts so that your path leads to a role as a JBoss Technology Evangelist?

1. Teaching core

The JBoss Technology Evangelist is worldwide actively promoting, creating and delivering technical marketing assets that drive technical audiences to purchase or influence purchase of Red Hat JBoss Middleware Integration products & services. The JBoss Technology Evangelist will try to focus efforts towards results that are highly leveraged, but may also be required to help in more specialized efforts such as helping close a specific customer. The JBoss Technology Evangelist has significant technical sales enablement responsibility and also helps influence JBoss Middleware product direction by internally communicating requirements and opportunities learned through prospect and customer interactions.

The bottom line is that if you peel back the outer layers of a JBoss Technology Evangelist, the core will always be that of a teacher. They need to have a desire, no a passion, to want to teach what they know. 

This might start with an audience of just one as they mentor a junior colleague and eventually range into audiences of thousands as you present sessions live on stage at an event. This teaching can be structured, such as getting experience as guest teacher in formal schools or universities or it can be through teaching technical classes for an employer. It can be through hosting workshops after working hours to pass on knowledge to your colleagues or it can be as simple as posting articles showing the reader how to do something.  

The bottom line is that if you are not a teacher at heart, then this role is not for you.

2.  Storytelling

A JTE has a proven understanding of what it takes to motivate technical audiences and ability to translate that understanding into impactful execution that converts developer awareness and preference into revenue. 

There is nothing you can teach if you can't bring it across to audiences. This might be to a single person, a small group or large diverse audiences that come from culturally diverse backgrounds around the world.

It is more than presenting slides, it is the ability to bring across your enthusiasm for the topic(s) you are trying to teach. It is not enough to stand up and demo a new technology and talk to a few slides. You need to have a way to understand and reach the audience, reading their reactions, adjusting your story if the audience that turns up is not the one promised when you designed your talk.

You need to practice your storytelling and spend time researching how others do it. Look into styles like PetchaKucha with stores told in 20 slides each auto advanced every 20 seconds, no control by the presenter. Expanding your horizons on how to tell your stories will make you a better storyteller.

You also need to reach more than just an audience sitting right in front of you, so producing content online in the form of articles, video content and maintaining a social media presence are all essential extensions of how you apply storytelling. We tell stories in books, papers, articles and by covering our topics online with social media.

Each form of storytelling requires different abilities and needs to be demonstrated before you can obtain the role of JBoss Technology Evangelist. You should have at least one, if not more, places online where you publish your articles. You should have an online social media presence to push out your content and start discussions around your topics.

Storytelling is an art and you have to constantly refine your approach, but the bottom line is can you reach your audiences and have an impact?

3. Technology skills

A proven ability to create high-quality, compelling technical marketing content proven charismatic ability to energize and excite technical audiences for middleware product offerings.

You can't be a technical evangelist without some sort of skills, but it is not just being able to code. You need to understand the organization required to create content and demos that are both repeatable and easy for your audiences to use.

With the myriad of platforms that your target audiences are using, you need to make your demos accessible and reusable as the main point of these are to replace you doing them yourself on site. Remember, you are the expert and you don't scale!

The technology content you provide has to not only be interesting, cover the topics or issues desired, but it also has to be so easy to use that any attempt to redo what you have just done live on stage does not end in a call to you for help. If you have to answer questions around how to use your content, you have failed.

Previously posted is this article on how to use a framework and template that has been successfully used for JBoss demo projects hosted on JBoss Demo Central for years.

Summary

If you can take these three keys and work on them in your daily roles, you too can reach out for the next opening as a JBoss Technology Evangelist. Remember, you have to teach, you have to be able to tell stories, and you have to leverage your technology skill set in a way that is easy to both understand and consume.
Looking to Automate your business?

This is not the all encompassing guide to becoming a JBoss Technology Evangelist, but in my experience they are the top three things that make someone effective and successful in the role.

They can be learned, they can be refined and if you are serious about moving into the role, they are the three things you should focus on starting right now.