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?”

Red Hat JBoss Fuse a Certified Enterprise Integration Solution for SAP

We are pleased to announce that Red Hat JBoss Fuse has recently completed the SAP certification process for BOR API Certification and Red Hat JBoss Fuse is now a SAP certified solution.

Red Hat JBoss Fuse is an open source, lightweight enterprise service bus (ESB). It delivers a robust, cost-effective, and modular integration platform that lets enterprises easily connect their disparate applications, services, or devices in real time. An integrated enterprise is able to provide better products and innovative services to its customers. A flexible architecture coupled with popular and proven integration tools enables Red Hat JBoss Fuse to integrate everything, everywhere.

Red Hat JBoss Fuse provides a certified enterprise integration solution with SAP, enabling Camel routes running in JBoss Fuse to retrieve all business objects from the SAP business object repository (BOR), the metadata and documentation of their business application programming interfaces (BAPIs), and to invoke all the methods of a BAPI. In addition it provides a certified solution for invoking non-BAPI remote function modules (RFMs). The performance of Red Hat JBoss Fuse is certified to maintain multiple connections to SAP, handle the transfer of large amounts of data and to handle multiple concurrent calls to BAPI methods. In addition, Red Hat JBoss Fuse is certified to properly process any Unicode characters passed in remote function calls.

Continue reading “Red Hat JBoss Fuse a Certified Enterprise Integration Solution for SAP”

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”

Red Hat Summit 2017 – Planning your JBoss labs

This year in Boston, MA you can attend the Red Hat Summit 2017, the event to get your updates on open source technologies and meet with all the experts you follow throughout the year.

It’s taking place from May 2-4 and is full of interesting sessions, keynotes, and labs.

This year I was part of the process of selecting the labs you are going to experience at Red Hat Summit and wanted to share here some to help you plan your JBoss labs experience. These labs are for you to spend time with the experts who will teach you hands-on how to get the most out of your JBoss middleware products.

Each lab is a 2-hour session, so planning is essential to getting the most out of your days at Red Hat Summit.

As you might be struggling to find and plan your sessions together with some lab time, here is an overview of the labs you can find in the session catalog for exact room and times. Each entry includes the lab number, title, abstract, instructors and is linked to the session catalog entry:

Continue reading “Red Hat Summit 2017 – Planning your JBoss labs”

Enhanced containerized integration services on OpenShift: Red Hat JBoss Fuse Integration Services

Updated and enhanced integration services are now available on Red Hat OpenShift. A containerized, formatted version of Red Hat JBoss Fuse 6.3 is now available for simplified deployments on OpenShift instances.

Technology is shifting so rapidly — from cloud-based architectures, Internet of Things and a variety of devices for interaction, new data streams, and mobile apps, to name a few — that organizations have to be able to create and deploy applications and process data quickly. Traditional, monolithic systems and top-heavy ESB-style integration approaches tend to be too slow and rigid to enable this level rapid innovation.

That is where an agile integration framework like JBoss Fuse can be a foundational element in your IT and digital strategy. Agile integration has three core capabilities: distributed integration, containers, and an API-based architecture.

  1. JBoss Fuse uses the lightweight distributed integration patterns of the underlying Apache Camel project.
  2. As part of the JBoss middleware services on OpenShift, JBoss Fuse is available for rapid deployment within container and cloud environments. Red Hat OpenShift is based on Docker and Kubernetes. Container architectures allow developers to build and integrate traditional and microservices-based applications at scale quickly.
  3. JBoss Fuse can be used together with Red Hat 3scale API Management Platform as an engine to develop and deploy APIs, both internally to development groups and externally for customer and partner ecosystems.

Integration technologies help organizations build on their existing infrastructures even as they pivot to new cloud-based and service-based architectures.

Features (and Benefits) at a Glance

  • Spring Boot support
  • Custom-developed, containerized applications based on Apache Camel 2.18
  • Integration with Hystrix and Zipkin microservices frameworks
  • An optimized integration environment for microservices applications on Red Hat OpenShift
  • Path to transition off existing Apache Karaf-based applications to cloud architectures
  • Consistent hybrid integration platform across their enterprise

More Information

Upcoming Webinar: Migrating to Open Source Integration and Automation Technologies

Balaji Rajam (principal architect) and Ushnash Shukla (senior consultant) from Red Hat will be conducting a webinar about the ability to integrate data from disparate sources with people and processes. This is a crucial part of strategies for data integration.

Data is increasingly moving from being an asset within an organization to one of the key business drivers and products, regardless of industry. The ability to integrate data from disparate sources is a crucial part of business digital strategy. Many organizations have been locked into proprietary and closed software solutions like TIBCO, but as the IT environments transform again into microservices, agile, and cloud-based infrastructures, those proprietary systems may not be able to keep up – or it may be too cost-prohibitive to try. Open source offers standards-based approaches for application interoperability with potentially lower costs and faster development times. This webinar looks at three key aspects of effectively moving from proprietary to open source solutions:

  • Recommendations for migrating from TIBCO to open source applications
  • Performing data integrations
  • Defining automated business processes and logic

Registration is open. The webinar is August 9 at 11:00am Eastern Time (US).

register_now

Fun Follow Up: Webinar Q&A

I will collect any questions asked during the webinar, and I’ll do a follow-up post on Friday, August 12, to try to capture the most interesting questions that arise.

Visualizing Integration Applications

Since I’ve changed roles and started performing architect duties, I have to draw more boxes and arrows than write code. There are ways to fight that, like contributing to open source projects during sleepless nights, POCs, demos, but drawing boxes to express architectures and designs is still big part of it. This post is about visualizing distributed messaging, SOA, microservices applications in agile environments (this term has lost its meaning, but there is not better one in this case). What I like about the software industry in recent years is that the majority of organizations I’ve worked with value the principles behind lean and agile software development methodologies. As long as it is practical, everyone strives to deliver working software (rather than documentation), deliver fast (rather than plan for a long time), eliminate waste, and respond to change. And there are management practices such as scrum and kanban, and technical practices from extreme programming (XP) methodology such as unit testing, pair programing, and other practices such as CI/CD and DevOps to help implement those principles. In this line of thinking, I decided to put together a summary of the design tools and diagrams I find useful in my day to day job while working with distributed systems.

Issues with 4+1 View Model and Death by UML

Every project kicks off with big ambitions, but there is never enough time to do things perfectly, and at the end we have to deliver whatever works. And that is a good thing, it is the way the environment helps us avoid gold plating and supports principles like YAGNI and KISS, so we do just enough and adapt to changes.

Looking back, I can say that most of the diagrams I’ve seen around are inspired by the 4+1 view model of Philippe Kruchten which has logical, development, process and physical views.

4+1_Architectural_View_Model
4+1 View Model.  From A Practical Guide to Enterprise Architecture by James McGovern, Scott W. Ambler, Michael E. Stevens, James Linn, Vikas Sharan, Elias K. Jo, 2003.

I quite like the ideas and the motivation behind this framework: using separate views and perspectives to address specific set of constraints and targeting the different stakeholders. That is a great way of describing complex software architectures. But I have two issues with using this model for integration applications.

Diagram Applicability

Typically these views are expressed through a unified modeling language (UML), and for each view, you have to use one or more UML diagrams. If I have to use 15 types of UML diagrams to communicate and express a system architecture in an accessible way, it defeats the purpose of UML.

Death by UML
Death by UML. From Wikipedia, derived from a diagram by Paulo Merson.

With such a complexity, the chances are that there are only one or two people in the whole organization who have the tools to create and ability to understand and maintain these diagrams. And having hard-to-interpret, out-of-date diagrams is as useful as having out-of-date documentation. These diagrams are too complex and with limited value, and very quickly they turn into a liability that you have to maintain rather than an asset expressing the state of a constantly changing system.
Another big drawback is that the existing UML diagram types are primarily focused on describing object-oriented architectures rather than pipes and filters architectures. The essence of messaging applications is around interaction styles, routing, and data flow rather than structure. Class, object, component, package, and other diagrams are of less value for describing pipes and filters based processing flows. Behavioral UML diagrams such as activity and sequence get closer, but still cannot express easily concepts such filtering and content based routing, which are a fundamental part of integration applications.

View Applicability

Having a different set of views for a system to address different concerns is a great way of expressing intent. But the existing views of the 4+1 model don’t reflect the way we develop and deploy software nowadays. The idea of that directional flow — that you have a logical view first, which then leads to development and process views, and those lead to a physical view — is not always the case. The systems development life cycle is not following the traditional (waterfall) sequence of requirement gathering, designing, implementing, and maintaining.

2000px-CPT-SystemLifeSycle.svg
Software Development Lifecycle. Derived from an image by Web Serv

Instead other development methodologies such as agile, prototyping, synchronize and stabilize, and spike and stabilize are used too. In addition to the process, the stakeholders are changing too. With practices such as DevOps, developers have to know about the final physical deployment model and the operations team have to know about the application processing flows.

Modern architectures such as microservices affect the views too. Knowing one microservice in a plethora of services is not very useful. Knowing too much about all the services is not practical either. Having the right abstraction level to have a system wide view with just enough details becomes vital.

Practical Visualization for Integration Applications

The closest thing that has been working for me is described by Simon Brown as the C4 model. (You should also get a free copy of Simon’s awesome The Art of Visualising Software Architecture book). In his model, Simon is talking about the importance of a common set of abstractions rather than common notation (such as UML) and then using simple set of diagrams for different level of abstractions: system context, container, componentand class. I quite like this “outside-in” approach, where you first have 10000 foot view and with each next level, going deeper with more detailed views.
C4 is also not an exact match for middleware/integration applications either, but it is getting closer. If we were to use the C4 model, then the system context diagram would be one box that says ESB (or middleware, MOM, or microservices) with tens of arrows from north to south. Not very useful. The container diagram is quite close, but the term container is so overloaded (VM, application container, docker container) which makes it less useful for communication. Component and class diagrams are also not a good fit as pipes and filter architectures are focused around enterprise integration patterns, rather than classes and packages.
So at the end, what is it that worked for me? It is the following three types of diagrams which abbreviate as SSD (not as cool as C4):  system context, service design, and deployment.

System Context Diagram

The aim of this model is to show all the services (whether they are SOA or microservices) with their inputs and outputs, ideally having the external systems on the north, the services in the middle section, and internal services in the south. Or you could use both external and internal services on both side of the middleware layer as shown below. Also having the protocol (such as HTTP, JMS, file) on the arrows, with the data format (XML, JSON, CSV) gives useful context too, but it is not mandatory. If there are too many services, you can leave the protocol and the data format for the service level diagrams. I use the direction of the arrow to indicate which service is initiating the call rather than the data flow direction.

System Context Diagram
System Context Diagram

Having such a diagram gives a good overview of the scope of a distributed system. We can see all the services, the internal and external dependencies, the types of interaction (with protocol and data format), and the call initiator.

Service Design Diagram

The aim of this diagram is to show what is going on in each box representing a middleware service from the system context diagram. And the best diagram for this is to use EIP icons and connect those as message flows. A service may have a number of flows, support a number of protocols, implement real time, or batch behaviour.

Service Design Diagram
Service Design Diagram

At this level, we want to show all possible data flows implemented by a specific service, from any source to any destination.

Deployment Diagram

The previous two diagrams are the logical views of the system as a whole and each service separately. With the deployment diagram, we want to show where each service is going to be deployed. Maybe there will be multiple instances of the same service running on multiple hosts. Maybe some services will be active on one host, and passive on the other. Maybe there will be a load balancer fronting the services.

Deployment Diagram
Deployment Diagram

The deployment diagram is supposed to show how individual services and the system as a whole relates to the host systems (regardless whether that is physical or virtual).

What Tools Do I Use?

The system context and the deployment diagrams are composed only of boxes and arrows and do not require any special tools. For the service design diagram, you will need a tool that has the enterprise integration pattern icons installed. So far, I have seen the following tools with EIP icon support:

Other development tools that could be also used for creating EIP diagrams are:

A system context diagram is useful to show the system wide scope and reach of the services, a service design diagram is good for describing what a service does, and a deployment diagram is useful mapping all that into something physical.

In IT, we can expand work and fill up all the available time with things to do. I’m sure given more time, we can invent ten more useful views. But without those basic three, I cannot imagine describing an integration application. As Antoine de Saint-Exupery put it long ago: “Perfection is finally attained not when there is no longer anything to add but when there is no longer anything to take away.

Thank you JBoss partners

Thank you JBoss partners. You made our decade.

In the open source world (and I would say increasingly in the software world in general), the success of a new technology begins with active and vibrant communities that crank out compelling and useful technologies.

When the technology gets out and increases in popularity, early customers begin to trust it and it faces the challenge of being adopted by the mainstream market, which is composed predominantly by customers who are pragmatists in nature and that find it difficult to use a new product unless it has support in the market (other customers) and it has an ecosystem of partnerships and alliances with other vendors that serve their industry.

That’s why partners are key to technology products. The larger the partner ecosystem, the more trust customers can have and the better the chances of widespread adoption.

JBoss had started to create that partner ecosystem before it became part of the Red Hat family back in 2006. Many things have happened since those early years, and we’ve probably done a few right things along the way, as Red Hat has become the first open source company to surpass the two-billion-dollar revenue mark, and for the fourth consecutive year we have been awarded a 5-Star rating in the CRN 2016 Partner Program Guide – where vendor applications are assessed based on investments in program offerings, partner profitability, partner training, education and support, marketing programs and resources, sales support, and communication.

However, at the end of the day, it is really the partners who decide which technology partners they choose to pursue success in the marketplace.

In anticipation of the launch of Red Hat JBoss Enterprise Application Platform 7 (JBoss EAP), and of the 10th anniversary of JBoss becoming part of the Red Hat family, we offered our partners the opportunity to tell the world about out our collaboration.

So don’t take our word for it. Let our partners do the talking.

We are fortunate to have partners that have worked with JBoss for a long, long time. Some of them, such as Vizuri, were a JBoss partner before it became part of the Red Hat product family. Joe Dickman, senior vice president, explains that the widespread adoption of JBoss in the marketplace, especially among Fortune 500 companies, is “a testament to the ‘power of community collaboration and innovation’ that Red Hat embodies, which has forever changed the way that software is developed and businesses operate.”

Another JBoss veteran is Viada in Germany. In words of Daniel Braunsdorf, CEO of Viada in Germany, “Ten years ago JBoss was the first open source application server being really ‘enterprise-ready’”, and today “we are talking about a full stack of middleware suite products serving our customers needs by giving them more flexibility, agility, and speed to deliver innovative applications.”

James Chinn, CEO of Shadow-Soft, sums it up well: “Over the last decade, JBoss has come a long way in terms of improving performance as well as truly innovating in regards to the way applications run and are managed. With the release of JBoss EAP 7 comes a host of new features including full support of Java EE 7 and Java SE 8 (…) Furthermore, JBoss EAP 7 has also been upgraded to reduce start-up time and optimize networking port utilization making it truly ideal for running within Linux containers.”

SCSK from Japan trust the power of JBoss EAP 7 to drive open standardization and TCO reduction. In the words of Hisanao Takei, Senior Executive Officer, “SCSK thinks JBoss EAP 7 is the best choice that customers want for building open and standard infrastructure and especially expects system TCO reduction for virtual and cloud environment.”

Red Hat JBoss Middleware is at the core of many mission critical systems. And being intimately related with the other Red Hat middleware products, such as JBoss Fuse, enables our partners to support many different types of business customer needs. Hiroyuki Yamamoto, director at monoplus, Inc. in Japan, makes the point that “As business environments continue to evolve, we believe that JBoss Middleware will seamlessly contribute and support in the integration, co-operation and collaboration within businesses”.

Driven by the dynamism of information based sectors, it may be easy to forget that traditional businesses also need advanced enterprise systems to be successful. In such a traditional business as printing, our Japanese partner WingArc1st makes the point that “An enterprise printing platform needs to be highly reliable, stable and provide high performance for seamless operations,” and believe that “Red Hat Enterprise Linux and JBoss EAP 7 are important platforms” for the company’s SVF offering.

Matt Pavlovich, co-founder of Media Driver, abounds on how JBoss EAP 7 helps developers “to be more efficient by focusing their time on delivering business value versus fiddling with tech stacks.” No small feat, as he continues, “Whether it is deployed on-premise, in the cloud or via containers, JBoss EAP 7 provides deployment flexibility that can help DevOps teams avoid having to navigate tricky hurdles to get their environments up and running quickly.”

Regis Kuzel, senior vice president at LCN Services, takes pride at being an unbiased trusted advisor to their customers. “For LCN, the bottom line is you can’t do better than Red Hat JBoss EAP 7. It’s a well-thought-out platform. And it’s gaining market share because it works! We believe Red Hat JBoss EAP 7 is the best technology available at its core!”

In terms of innovation, Farhan Hussain, Founder and CEO, Open Source Architect has a clear view of the contribution of the new EAP7. “This new platform will help us provide reliable, cost-efficient and high-performing container-based solutions for on-site and cloud deployments, while enabling our joint customers to innovate and meet strict compliance, security, and regulatory requirements simultaneously!” says Farhan.

Heinz Wilming, Director, Red Hat JBoss Competence Center for our German partner akquinet, makes a point about the value that long term support provides to our common customers. As you are possibly aware, Red Hat JBoss Middleware product life cycles are generally three, five, or seven years in length, and for certain products can be extended by three (3) additional years (up to ten!), something not many vendors actually provide. In his words, “Long-lasting support, regular updates and interoperability ensure protection of investment and guaranteed future for both our customers and akquinet.”

Some of our partners have been supporting JBoss for a long time, and others have made investments more recently. This is the case of Opticca in Canada. Owner Ivan Cardona shares that “We’ve been deploying Middleware, SOA, and BPM platforms from the major providers for the past eight years. We’ve recently made a large investment In Red Hat’s JBoss solutions because our customers’ feedback led us to conclude open source is now a real option.”

A last word…

We are really happy we are getting this support from our partners. Many others share us in the 10th anniversary and you can learn more from our strategic alliances here. And find more in the JBoss partner ecosystem press release, here.

And for those that are still not in the ecosystem, please join us. We’re here to help you grow.

So let me conclude as I began.

Thank you, Red Hat partners. You made our decade. Ready for more?

PD: Keep reading here for blogs and additional quotes from partners worldwide about the new EAP7!

Building an API-Based Connected Healthcare Solution: Q&A Followup

Christina Lin (a technology evangelist for Red Hat) and Sameer Parulkar (middleware product marketing manager for Red Hat) conducted a webinar earlier this week about data integration challenges which specifically face healthcare providers. As promised, this is a brief roundup of the major questions that came out of the webinar and pointers to more detailed information about the demo. (If you would like more background on integration challenges in healthcare, we do have posts on integration architecture for healthcare and another on how to overcome integration challenges.)

A Quick Summary

The recording of the full webinar is available here, but I’ll summarize it briefly if you can’t watch it yet.

Continue reading “Building an API-Based Connected Healthcare Solution: Q&A Followup”

The Core Value of Integration

There is a new Red Hat infographic that summarizes the benefits (and power) of integration. I am only using excerpts here because it is a large-ish infographic, and it’s definitely worth viewing the whole thing. This is just a taste. (Even better, download the underlying whitepaper; it is very much worth reading.)

value-fuse-integration

The headline-making numbers come down, not surprisingly, to cost-savings:

  • 488% ROI in three years
  • Payback in 8.2 months
  • Over $1.4 million in annual savings

The most interesting thing that I saw is definitely part of that headline, but it’s a smaller part of it — over half ($838,800) of those annual savings come from making your IT staff more productive. When an application is integrated, it requires about 41% fewer staff to maintain it. There is a lot a variation here (defining integration is a whole ‘nother blog post) but the idea of saving money, increasing individual productivity, and reducing the staff to maintain applications doesn’t necessarily translate into cutting costs or reducing staff. The power of that, the core value of integration as I read it, is reallocating those precious resources to different operations for your company. Instead of keeping your current apps running, you could have a lot more available people and space to try to do new things, to reinvest in what your company does and move forward.

That’s pretty cool.

  • Page 1 of 2
  • 1
  • 2
  • >