Monday, March 27, 2017

All Things Open - App Dev in the Cloud with Monkeys

There is an interesting conference being held in October, from 23-24th in Raleigh, North Carolina.

All Things Open.

This conference targets all aspects of open technologies, but specifically they try to recruit experienced and well known speakers.

With this in mind I put forth a session on open cloud technologies, but with a twist of theme that I have been testing on various user groups and conferences. It is resonating and was even voted one of the top sessions at Codemotion Rome 2017.

With any luck, you will get the chance to experience the vision around this story and see the live demo on how developers can gain control of their cloud circus and own these monkeys.

App Dev in the Cloud - Not my circus, not my monkeys...

When faced with all the hype around Cloud, most application developers are not really all that excited. Maybe you get that feeling that it isn't your problem, just leave me to my applications.

Let me show you why, as an application developer, you can't ignore your Cloud stack anymore. We'll examine your Cloud stack anxieties and provide you with a solutions to ease you into your first private PaaS on your own local machine that you can install in just minutes.

Finally, you will be given a collection of example projects showing you how to take control of this circus and own the monkeys!


Hope to see you there!

Friday, March 24, 2017

Codemotion Rome 2017 - App Dev in the Cloud (slides)

As previously posted, I am in Rome, Italy this week for Codemotion Rome 2017.

My talk is today, but as I like to do, I start the talk with the line, "You can get these slides online right now..."

Thus this post.

The submission, acceptance and session abstract have been posted in the previous articles, so here are the slides. For those that attended the talk, thanks for the fun, always appreciate your time.



Please post comments and feedback below and see you again next time at another Codemotion!

Wednesday, March 22, 2017

Red Hat Summit 2017 - Get a taste of Summit with free previews

It is coming very soon....

Red Hat Summit, it's back for 2017 in Boston, MA from 2-4 May.

The agenda is online, you can search for your favorite speakers and start planning your time between sessions, keynotes, labs and more.

To tease you even more, there is a neat feature this year called Taste of Summit, where you can get free access to many of the sessions to be given in May.
Figure 1. My taste of summit preview.

Today you can register online and gain access to short, 15 min previews of session by the speakers you will meet in person at Summit.

They are giving you a teaser on the content and style you can expect, allowing you to make some early decisions on sessions you might want to see.

For example, my session shown in figure 1 is available as a Taste of Summit virtual session, where you get a preview to Discover the Foundations of Digital Transformation.

After registration you will be emailed a confirmation of registration with details to log in using the email address you registered with. You will find yourself standing in front of the entrance to a virtual hall just like Red Hat Summit in Boston will look like.

Figure 2. Entering the theater for virtual sessions.
Enter the Theater room and select from Keynote, 2017 Session Previews or Open Source Stories to select from an extensive list of previews, as shown in figure 2.

Click on 2017 Session Previews and use the Watch on Demand button to start previewing a session.

If you still need convincing, here are the slides for my preview:



Enjoy the Taste of Summit previews and see you very soon in Boston. Be sure to stop by and chat!

Thursday, March 16, 2017

How To Access JBoss BRMS Internal Git Repo in a Container

The world has changed quite a bit over the last few years.

Application delivery and application development has gone from working with local installations to leveraging Cloud-based solutions and tooling.

When working on JBoss BRMS rules applications I have shared with you how to connect to the internal git repository with your external development tooling for read-write access to your projects.

After showing you how to deploy your JBoss BRMS in a container and on OpenShift Container Platform, did you notice that something was missing?

It was not yet configured to give you that all important external access to your rules projects that you created inside the container. Well, as of today you can.

Accessing BPM projects

The example project to run JBoss BRMS in a container on OpenShift Container Platform has been updated to include the proper configuration file adjustment. There are two things that need to be adjusted:
  1. Dockerfile 
    • There is a line that exposes the ports that the container will allow you to access from an external source. It has been updated to include the port 8001 which is the one you need.
  2. standalone.xml
    • In this file you find the server configuration with system properties to help. A new system property is added to allow external access from the JBoss BRMS internal git repository; <property name="org.uberfire.nio.git.ssh.host" value="0.0.0.0"/>
With these in place you are now ready to login to the JBoss BRMS, create a new project and clone this to your local machine for development work.

Let's imagine you have a repository called FrontOffice and you want clone it for development on your local machine. When you do this you can then push any changes back into the container based rules project shared with users working in the JBoss BRMS console.

First, you need to forward the OpenShift Cloud Platform hosted container's port 8001 to your local machines 8001 port, making the connection from your local machine to the container. This is done with the following command from the OpenShift command line tool which is finding the container based on it's name:

  1. # Read-write access to repo on port 8001.
    #
    $ oc port-forward $(oc get pod \
       -l=deploymentconfig=rhcs-brms-install-demo \
       --template='{{ range .items }} {{ .metadata.name }} \
       {{ end }}') 8001:8001
    
Now you can clone the BackOffice repository with the following:

# Read-write access to repo on port 8001.
#
$ git clone git://localhost:8001/FrontOffice
You now have a copy of the FrontOffice repository on your machine with read-write access.

Enjoy!

Monday, March 13, 2017

Get Started with JBoss BPM Today

Are you asking yourself the question, "I want to start designing and creating applications that leverage JBoss BPM and I’m looking for an all-in-one guide. Do you have a suggestion?"

I have just the book for you.

Effective Business Process Management with JBoss BPM is a book for developers, process analysts and architects who want to leverage JBoss BPM in their application development and design. No prior experience with BPM is required.

Business environments are changing faster than ever. Organizations are constantly being tested in the markets they operate in by shifting expectations of their customers, and by competitors looking to provide better value at a lower cost. BPM, at its core, is about identifying and capturing an organization’s processes, in order to create repeatable, measurable, and consistent execution of goals – to drive the business forward!

It’s about Improving efficiency and Effective Business Process Management with JBoss BPM teaches you the ins and outs of JBoss BPM Suite – the leading open-source product that supports rules, events and processes from design to runtime. You will learn how to implement real processes by automating tasks, designing data models, creating business rules, and managing running process.

Start learning JBoss BPM Suite from start to finish today.

In Effective Business Process Management with JBoss BPM you will learn all you need to know to start using JBoss BPM and leveraging its many advantages for your business or organization. You will go from an intro to using JBoss BPM for advanced topics, and your learning experience will be guided by clear diagrams and images, illuminating explanations, thought- provoking examples, and lots of hands-on exercises.

Get started today:

Thursday, March 9, 2017

Designing effective business processes with JBoss BPM

Manning Early Access Program 
updated with chapter 7
In June 2016 the Manning Early Access Program (MEAP) started for the book Effective Business Process Management with JBoss BPM.

What is a MEAP?

The Effective Business Process Management with JBoss BPM MEAP gives you full access to read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the paper book long before it's in bookstores.

You can also interact with the author, that's me, on the forums to provided feedback as the book is being written. So come on over and get started today with Effective Business Process Management with JBoss BPM.

The way the MEAP works is that every month or so Manning puts a new chapter online.

This week chapter 7 was made available and those already in the MEAP will have had access to start reading the chapter.

What's new?

Chapter 7, Designing business processes will teach you how to build out basic business processes and create prototype processes as you endeavor to capture your business activities. You'll learn to implement business processes with JBoss BPM Suite, use JBoss BPM Suite process designer for modeling processes, and execute for validation the implemented business processes.

Please be sure to stop by the book's online forum with any comments or questions you have about the new chapter and the rest of the book. As always, appreciate your feedback!

To give you an idea of what's available so far:


Up next, is chapter 8, Form design for everyone.

You can read this excerpt online before you decide, but I look forward to hearing from you on the content and stay tuned for more.

Monday, March 6, 2017

How To Access JBoss BPM Internal Git Repo in a Container

The world has changed quite a bit over the last few years.

Application delivery and application development has gone from working with local installations to leveraging Cloud-based solutions and tooling.

When working on JBoss BPM applications I have shared with you how to connect to the internal git repository with your external development tooling for read-write access to your projects.

After showing you how to deploy your JBoss BPM Suite in a container and on OpenShift Container Platform, did you notice that something was missing?

It was not yet configured to give you that all important external access to your BPM projects that you created inside the container. Well, as of today you can.

Accessing BPM projects

The example project to run JBoss BPM Suite in a container on OpenShift Container Platform has been updated to include the proper configuration file adjustment. There are two things that need to be adjusted:
  1. Dockerfile 
    • There is a line that exposes the ports that the container will allow you to access from an external source. It has been updated to include the port 8001 which is the one you need.
  2. standalone.xml
    • In this file you find the server configuration with system properties to help. A new system property is added to allow external access from the JBoss BPM Suite internal git repository; <property name="org.uberfire.nio.git.ssh.host" value="0.0.0.0"/>
With these in place you are now ready to login to the JBoss BPM Suite, create a new project and clone this to your local machine for development work.

Let's imagine you have a repository called BackOffice and you want clone it for development on your local machine. When you do this you can then push any changes back into the container based BPM project shared with users working in the JBoss BPM Suite console.

First, you need to forward the OpenShift Cloud Platform hosted container's port 8001 to your local machines 8001 port, making the connection from your local machine to the container. This is done with the following command from the OpenShift command line tool which is finding the container based on it's name:

  1. # Read-write access to repo on port 8001.
    #
    $ oc port-forward $(oc get pod \
       -l=deploymentconfig=rhcs-bpms-install-demo \
       --template='{{ range .items }} {{ .metadata.name }} \
       {{ end }}') 8001:8001
    
Now you can clone the BackOffice repository with the following:

# Read-write access to repo on port 8001.
#
$ git clone git://localhost:8001/BackOffice
You now have a copy of the BackOffice repository on your machine with read-write access.

Enjoy!

Friday, March 3, 2017

How to build your own OpenShift oc client

Today there was a new release of boot2docker ISO, a base image that is used to create the base container when you want to run the OpenShift Container Platform on your local machine as a developer does.

This is usually not an issue, but today it was.

When you try to use the OpenShift command line client, known as 'oc', you started to get errors. It does not matter if you are using Linux, Windows or osX, this will hit sooner or later if you client is version 3.4.1.5 or earlier.

The problem

It also seems to be effecting users of OpenShift Origin, Minishift* and OpenShift Container Platform clusters. For example, when installing OpenShift Container Platform I would run the following command:

$ oc cluster up --image=registry.access.redhat.com/openshift3/ose --version=v3.4.1.5 --create-machine'

The output you git is a full stop and the install is no longer possible:

-- Checking OpenShift client ... OK
-- Create Docker machine ...
Creating docker-machine openshift
-- Checking Docker client ... OK
-- Checking Docker version ... FAIL
Error: Minor number must not contain leading zeroes "03"

This leaves you up the creek without a paddle, as they say in the country.

This is what the error looks like...

Open technology, always a solution

As you are using open technology it is always possible to investigate and provide a fix, so I did just that. I raised an issue with the OpenShift community after discovering that boot2docker image now includes the latest release of docker. This uses version numbering 17.03.x and there was an internal check that failed on comparing the minor version.

Cesar Wong stepped up and fixed this very quickly and showed us how to build our own new command line client with the fix.

I thought this would be nice to share with you so I put together build scenarios for each os and added a build script to my OpenShift Container Platform installation project on Red Hat Demo Central.

Here's how it works.
Deployed route for web server hosting new built oc client.

You need to have an OpenShift installation somewhere, even a friends is good enough on another operating system than yours, does not matter. Once you have this, do the following:

  1.  Download and unzip the ocp-install-demo.
  2. Run the support/os-builder.sh with a single argument for your operating system type (linux, windows or osx), in this example we build for an osX binary:
$ ./support/os-builder.sh osx


This will ask you to login to your OpenShift, then kick off a new application to build the oc client. You can login and watch the build under the project named my-project.
The oc client fixed for you to download!

Once it's done you will see a deployment, so now you can go to Applications -> Routes and see the route to your deployment web service that is hosting the newly built oc binary for you to download. Click on this link and it will open a new tab with the filesystem holding your oc client.

Now you have a fixed oc client v3.4.1.2 that will work just fine with your OpenShift cluster installations. Do note that OpenShift does not yet support running on docker v17.03 as it was just released today.

* UPDATE: Note this only effects Minishift if updating to version 17.03 of docker, they don't use boot2docker yet and control their own versions (thanks to Praveen Kumar).

Wednesday, March 1, 2017

Cloud Happiness - OpenShift Container Platform install on Windows, why wait?

Get OpenShift Container Platform v3.4 today!
There is no easier way to install your very own Cloud than with OpenShift Container Platform (OCP).

Last week you learned how to go from no Cloud to fully Cloud enabled with a container based application development platform in just over two minutes.

This week you can add Windows to the platforms that can be used to install this easy, 2 minute OpenShift Container Platform with fully enabled xPaaS capabilities!

If you have been following my journey through the application development phases of storytelling, you will have seen that I was an early fan of Cloud based solutions like OpenShift. This was a way to take your application development from your local resources and move them onto a remote set of resources, while continuing to work locally as you always have.

As of today I have updated  the OpenShift Container Platform Install Demo to deliver you version 3.4 to your Windows platform. It is so simple, I believe that anyone can set this up in just over two minutes. Let's take a look, as it it only a three step process:

Install in 3 simple steps...

  1. Run 'init.sh' or 'init.bat' file, then sit back. (Note: 'init.bat' must be run with Administrative privileges.)
  2. Follow displayed instructions to log in to your brand new OpenShift Container Platform!

You need to download and unzip the project, then run the installation script, sit back until you see the output at the end showing you where to log in to your brand new OpenShift Container Platform.

Figure 1. Final installation details given.
It will check if you have the required tools installed, if not you will get a pointer to where you need to download these requirements. This means you don't have to worry about finding out what you need, just run the installation and it will tell you where to get anything that is missing.

Also note, that if you have run this installation before, it's setup to always give you a clean running installation by fixing anything that is left running or blocking an installation. Not intervention needed by you. I then make sure your OCP has the latest greatest JBoss middleware streams loaded and update the RHEL 7 streams.

Now you are almost ready, just need to show you how to log in.

The final console output will give you the address that was dynamically created (in my case it shows https://192.168.99.100:8443), as shown in figure 1. You just need to paste it into your browser and you can log in with any of the given users.

Figure 2. Fill in a new project form as desired.
As I have updated the image streams, it will take some time for them to be pulled into your OCP and appear in your lists of available platforms. Log in with admin user and you will see that you need to create a project, just click on the New Project button.

You can fill in the form shown in figure 2 any way you like, but I chose to line it up as the project that will soon host all my Red Hat Cloud demo projects.

Once you submit that form, you are presented with an overview of the product templates for your projects that I installed above (remember, it might take a few minutes for them all to appear, so take a sip of coffee now as it is your only chance in this process).

You can now start using the catalog containing the JBoss middleware product templates to develop applications on the OCP Cloud.

This concludes the installation of OCP and you are now ready to start containerized application development. I assume you can find more information online if you are interested in getting started with the basics of container development on OCP, so I won't go into that here.

If you are looking for some deeper examples of running JBoss middleware on OCP then check out the examples collection at Red Hat Demo Central.

Here's wishing you many happy days of containerized application development in the Cloud!