What Is Agile Integration?

If you Google the term “agile integration,” you’ll come up with about 30 million results, but they focus heavily on one area: continuous integration within agile development. That definition of agile integration is based on the build environment.

However, it is possible to have another definition for “agile integration,” one which looks at the platform architecture.

In this definition, “agile” doesn’t relate to the process or the infrastructure, but to the flexibility and adaptability — the agility — of the application architecture. Integration within this context has a more strategic role, as the architectural framework that defines the interoperability of services and with a focus on the application functionality.

Traditional v agile as an architectural approach

There are functional similarities between traditional integration and agile integration – like routing, connectivity, orchestration capabilities. The difference between traditional enterprise application integration and agile integration is not in the tasks performed, but in the strategic perspective of those tasks. Put simply, integration can be viewed as a necessary but often limited part of the infrastructure (traditional) or it could be viewed as the core framework of the application architecture (agile).

Continue reading “What Is Agile Integration?”

Integrating SOAP based Web Services into Red Hat 3scale API Management

In Red Hat 3scale API Management, we can manage any HTTP(S)-based APIs – including REST and SOAP. With REST, it is particularly straightforward as individual URL paths usually map quite nicely to operations. By operations, we mean fine-grained tasks and services which providers may wish to  a) get visibility into and b) apply control access to.

With SOAP, there is more of a challenge, as it is typical for multiple operations to share the same endpoint. Yet providers may still want to get the same visibility and control they get with SOAP as they get with REST.

Continue reading “Integrating SOAP based Web Services into Red Hat 3scale API Management”

There is no magical OFF switch for legacy apps

I really dislike the term “legacy apps,” especially when it is used by vendors. It feels like they are calling my baby (i.e. my app) with a bad name.  I love the quote by Martin Fowler, “All we are doing is writing tomorrow’s legacy software today.”  I am certainly not advocating to stick to your old applications forever.  All applications and systems have a life-cycle that goes from build to retire. Somewhere in between lies the stage of renewing the capabilities of the system, often named as modernization, enhancement, or rehab. This is the most important phase from the perspective of extending the life of the application and enhancing the long term value harvested from it.

In IT, each generational transition has called for modernizing and redesigning applications, business processes and IT infrastructure to exploit new technologies’ capabilities and efficiencies. App modernization isn’t carried out as a fashion statement or status symbol but for hard business reasons. Regardless of the era, the benefits of a periodic app overhaul include better performance, more features, greater usability, and higher reliability.

Continue reading “There is no magical OFF switch for legacy apps”

Data and Architecture: Business Capability Future State How-To, Pt. 2

The Future-State Business Capability Model How-To  is a series to help IT and architecture practitioners think about a few key steps to build a future-state business capability model to influence business and technology senior leaders and executive decision makers. Part 1 ran last week and looked at the first two steps to creating a strategy-defined project planning model: understanding the goals of the organization and determining the architectural scope model to use. This post explores the steps to actually defining and implementing your planning model. 

Step 3: Define the plan to develop your future state capability model

    1. Determine if your organization requires a current state capability model. If your organization does not have a current state capability model, this may be an easier exercise to initiate dialogue and understand the concept.
    2. Identify how the corporate goals and strategy are applicable to the future state lifecycle. If required, translate the corporate goal to the applicable lifecycle. For example, a Corporate Revenue Goal can be translated into order transaction volume, number of newly hired associates, number of marketing campaigns or new product launches.
    3. Determine your standard definitions to categorize your capabilities.  For example, Core vs. Differentiate is a foundational interpretation. Determine what capabilities are “core” (something required to keep our business running) vs “differentiating” (something that has a direct impact on our growth).  This is a helpful reference for modeling: CEB’s Business Architecture Handbook.

Continue reading “Data and Architecture: Business Capability Future State How-To, Pt. 2”

Data and Architecture: Business Capability Future State How-To, Pt. 1

Does your organization need to improve strategic investments and prioritize investments? Do you feel confident in the objectivity of your investment and spend decisions? Are you constrained with annual budget allocations and have to make tough decisions year-over-year with running the business work or “keeping the lights on” versus transformational projects?

Establish a process to integrate an environment of many complex organizational capabilities to simplify and inform specific business outcomes through a future-state business capability model.

Portfolio Planning Prioritization 1.0 (in our blog series) features a way to prioritize investments from a “bottoms-up” perspective, as featured in the figure. The prioritization model identifies current or upcoming projects based on strategic drivers (key elements that align to organizational strategy, key portfolio data, and business value/outcomes) and detractors (elements that reduce value based on longer time periods, cost, and organizational readiness). Although this model is a good way to make data-driven prioritization decisions for the portfolio, it does assume that the organization has identified the critical must-have business capabilities needed to advance the business.

Continue reading “Data and Architecture: Business Capability Future State How-To, Pt. 1”

3 ways to effectively prepare for process improvements in your digital journey

In our journey to transform our ways of working, our focus on our customers wishes and our plans to pivot to a digital business there is always a need for process improvement.

While the transformation to a digital business can encompass many aspects that are new to your organization, there are always existing investments in technologies and processes that need to be evaluated.

Some can be modernized and migrated on to the new infrastructure that will support the digital business and others end up remaining in place as legacy systems of record.

One thing is for sure, evaluating existing business processes and looking to improve their effectiveness is going to be a necessary step. With that in mind, here are three ways to effectively prepare for process improvements in your digital journey.

1. Effective BPM theory

The first step in any journey is to plan effectively and gather as much information from the experts as you can. For this step you have many options, but the following example previews the open technology and tooling that will ensure you are ready to tackle process improvements.

2. Inventory existing processes

Identifying the list of existing processes in a business, both automated and non-automated processes will be the next step on the journey.

Businesses have processes in place that might be automated in some form, but showing signs of age or lack of effective execution. Others might have partial automation and exhibit a need for further automation at the time of evaluation. Finally, there can potentially be processes in your business that are crying out for automation and are hindering other processes with their lack of automation.

Collect all this information for evaluation without regard for size, level of automation or making decisions on priority for the next step.

3. Short list processes

Now that you’re able to browse all processes in your organization, identifying the short list where quick wins on process improvements is critical to the project’s success.
Everyone wants to see gains and building momentum with processes that can be improved both quickly and effectively builds confidence. Identify processes that have impact, are visible and can be effectively improved without having major impacts to the existing architecture or business process owner perceptions. This will be different for every organization, but crucial to building success and ensuring a smoother transition on your digital journey.
Armed with these three guidelines you’re ready to effectively prepare for process improvements in your digital journey.

Red Hat OpenShift Application Runtimes and Spring Boot – details you want to know

Have you read the announcement of the alpha release of Red Hat OpenShift Application Runtimes (RHOAR)? We also posted an introduction to the component in RHOAR earlier. This post dives into more detail on the Spring Boot certification support that is expected to be included with RHOAR.

First things first, Spring Boot remains part of the Spring Framework that is controlled by Pivotal. Red Hat and Pivotal are not announcing any sort of alliance to alter how elements of the Spring Framework, including Spring Boot, are defined or brought to market.

Instead, with RHOAR, Red Hat is working to certify some technologies and support others (when generally available) that Spring Boot will interoperate with. Conceptually, Red Hat wants to welcome Spring users to the Red Hat ecosystem and enhance their ability to deliver effective cloud native applications on the OpenShift Container Platform (OCP) using the Spring Boot java development framework. So let’s dive into the details a bit more.

First, lets look at some of what RHOAR will offer Spring Boot developers. For starters, if you’re new to working with Spring Boot, Red Hat will be offering a browser based utility to get started with multiple cloud-native runtimes, including Spring Boot. The utility known as a launchpad will create a fully-functional starter application for you. You can download the starter application as a zip file, or interact with an OCP instance. When the later is done, code is pushed to a GitHub namespace, sets up a build pipeline for for continuous delivery, and ensures it’s triggered to run on each push to your git repository. Now, the choice of OCP instance is up to you. You could certainly use a centralized public or private OCP deployment. But you could also use a local OCP environment right on your desktop. Pretty cool.

Continue reading “Red Hat OpenShift Application Runtimes and Spring Boot – details you want to know”

Summit Notes: Tuesday Morning General Session

If you missed it, the keynote speeches are available on the Summit page or on YouTube.

“You don’t need to focus on technology. You need to empower your developers.”

There are certain patterns in the middleware / application development tracks for Red Hat Summit this year, and they revolve a lot around microservices. That makes a certain kind of sense (microservices are the new hotness in app development), but it’s also reflective of a larger current in technology, a continuing push toward … something.

In his opening keynote, Red Hat EVP Paul Cormier noted that one of the themes of Summit 2016 was “dev and ops coming together through common architectures, processes, and platforms.” This echoes major trends in technology — DevOps and architectures, process, and platform as a unifying IT strategy — and yet none of these concepts are really new. Two decades ago, there were developers and operations, there was enterprise architecture, application platforms, and internal processes. So what’s new and what is bringing the urgency now?

I think the difference comes down to speed (and eventually differences in degree become differences in kind). Twenty years ago, an application was released yearly, sometimes even every couple of years. A patch or security update could take a few months to move in the pipeline from development to testing to production.

Now customers expect patches for security vulnerabilities within hours of them being detected, and the expanding number of applications (from consumer mobile apps to internal systems to IoT devices) means that enterprises have potentially dozens of touchpoints and hundreds of services to maintain.

The “modern” part of modern application development isn’t in the app — it’s in the speed.

This year’s Summit kicked off with three interlocking demos, each showing the different paths and progressions that an IT environment will face as they juggle modernizing existing applications and creating new ones within a heterogeneous (and dynamically changing) ecosystem.

 Lifting and Shifting (Windup)

Continue reading “Summit Notes: Tuesday Morning General Session”

Eclipse MicroProfile continues its growth in the market

Organizations that have already embarked or are thinking about starting a digital transformation journey are assessing and looking for ways to leverage their Java EE expertise. IT development and operations have built Java expertise over years, and there is a challenge to balance their existing skill base with new digitally transformative technologies, such as microservices, APIs, container-based architectures, and reactive programming. Eclipse MicroProfile is an open source project and one of those digitally transformative technologies that enables and optimizes the development of microservices — using familiar Java EE technologies and APIs.

You can think of MicroProfile as minimal standard profile for Java microservices. As with Java EE, MicroProfile implementations across different vendors are fully interoperable.

MicroProfile is supported in WildFly Swarm on the recently announced Red Hat OpenShift Application Runtimes, our polyglot runtime platform powered by OpenShift, Kubernetes, and OpenStack. This delivers on the goal of simplifying the inherent complexity of developing cloud native applications.

There are a lot of reasons to begin adopting MicroProfile:

  • Open source, of course
  • Agility in developing microservices
  • Ability to leverage innovation
  • Architectural interoperability across different vendor offerings
  • No vendor lock-in
  • Fast learning curve for Java EE users (Java EE users can leverage their knowledge when using MicroProfile)
  • Ability to run on Red Hat OpenShift Application Runtimes 

Since MicroProfile was announced in June 2016, a lot has happened.  MicroProfile v 1.0 was released on September 19, 2016. Its implementation interoperability was demonstrated on November 2016 at Devoxx, where Red Hat, IBM, Tomitribe, and Payara demoed a unified web application with underlying microservices which had been developed separately by each vendor using MicroProfile. In addition, MicroProfile became part of the Eclipse Foundation as an incubation project back in December 14, 2016. New members have joined MicroProfile, such as SOUJava, Hazelcast, Fujitsu, Hammock, and kumuluzEE (the complete list of members can be found here).

Future releases of MicroProfile will build upon the existing foundation with organic growth by adding configuration, security, health check, and fault tolerance APIs, as well as adding support for later versions of CDI, JAX-RS, and JSON-P. The MicroProfile open source project plans to put out releases on an agile schedule and based on feedback from the open source community, which is accessible to everyone. Join the conversation and check out the MicroProfile site.

Announcing the Alpha release of Red Hat OpenShift Application Runtimes

Today Red Hat announced the alpha release of Red Hat OpenShift Application Runtimes (RHOAR). This is the first of many articles on the subject that will be published on the JBoss Middleware blog.

So what is RHOAR?

RHOAR provides application developers with a variety of application runtimes running on the OpenShift Container Platform. Specifically, the following application runtimes will be included in RHOAR:

  • Red Hat JBoss Enterprise Application Platform (EAP) – existing Java EE / Spring apps.
  • WildFly Swarm running MicroProfile – Java EE centric MSA
  • Spring Boot / Cloud – Spring centric MSA
  • Vert.x – greenfield reactive Java
  • Node.js – greenfield reactive JavaScript

Continue reading “Announcing the Alpha release of Red Hat OpenShift Application Runtimes”