ICYMI: A Better App Server Translates into Better Productivity

In case you missed it, there is an infographic based on research from IDC that IDC and Red Hat released (executive summary), nicely illustrating the business value of Red Hat JBoss Enterprise Application Platform 6.

idc-value-of-jboss-eap

Continue reading “ICYMI: A Better App Server Translates into Better Productivity”

If All Men Were Angels…

If all men were angels, no government would be necessary.

James Madison made the case that no system is perfect precisely because people aren’t perfect. That was, admittedly, a defense of a political revolutionary moment, but it holds true in software design as well.

Mark Little, vice president of engineering for middleware at Red Hat, has a blog post on this topic this week on jboss.org. The entire post is terrific (and readably brief), but there are a couple of points worth highlighting. His premise starts with the idea of what causes (or devolves) a system into a monolith, and he points to this:

Lack of architect (leadership); the original architect(s) leave the project and those who come in to replace them (if they are replaced) can’t control the developers or perhaps don’t understand the architecture enough to ensure it remains “pure”. Likewise, different developers coming into the project to either add to or replace those there already, can dilute the group knowledge and understanding of the architecture, leading to unforeseen and accidental divergence from the original plan.

What leads to an inflexible, centralized monolith application is, ironically, a lack of central vision. Mark sums it up with a really good point about the risks in microservice architectures:

I believe in and understand the need for distributed systems composed of (micro) services. However, what worries me about some of the current emphasis around microservices is that somehow they will naturally result in a better architecture. That’s simply not the case. If you don’t put in to place the right processes, design reviews, architecture reviews, architects etc. to prevent or forestall a local monolith then you’ve no hope of achieving a good microservices architecture. [emphasis added]

This is such an amazing point, it bears repeating. There is frequently this unspoken, sometimes unrecognized, belief that The Next Good Thing will some how solve all of the issues of the Last Good Thing without requiring special effort. But there are no perfect systems — clear planning, good communication, good team processes are required no matter what architectural pattern you’re using to develop your applications.

 

Intro to Microservices

An increasingly common buzzword in cloud computing is microservices. Like a lot of things associated with cloud technologies, a precise definition is difficult to find — and it can mean a lot of things to a lot of different people, depending on the context. Since this is a blog devoted to middleware issues, I want to define microservices within the context of that middle layer in computing, for application development.

A Definition

Microservices is an architectural approach for a software system. Meaning, it defines how individual services fit together and how those services are constructed (like, general constraints or best practices). What sets microservices apart from other architectural approaches is that it treats each service as a discrete and independent part of the architecture. That means that services themselves (within that system) have very clear definitions:

Continue reading “Intro to Microservices”

Choosing a Java EE Application Platform, Pt. 2: Technical Considerations

Part 1 looks at a handful of business considerations that you need to account for when you’re looking at Java EE application platforms — but that is only a part of selecting anything for your IT environment. In addition to treating an IT decision as a capital asset, your planning has to include technical factors: current and future development models, different types of applications, even rapid data processing.

Success today depends on achieving high levels of agility and flexibility. Major technology trends like mobile, the Internet of Things, and big data rely on lightweight, iterative environments like virtualization, cloud, and containers. This is  forcing organizations to rethink their  application development and deployment processes, application architecture designs, and choice of technologies used to build and run applications.

Continue reading “Choosing a Java EE Application Platform, Pt. 2: Technical Considerations”

Choosing a Java EE Application Platform, Pt. 1: Business Considerations

Historically, choosing a Java EE application platform was like any major capital planning — it was driven by a clear business logic:

  • Support for your current platform was expiring.
  • You had to standardize your systems.
  • You needed to accommodate a legacy system.
  • You needed to reduce costs.
  • You needed to take advantage of a specific advancement in Java technology.

Those are still primary factors, but there are a lot of additional factors to consider for something as foundational as an application platform. Part one of this series covers the business questions; part 2 will be out later this week to look at some of the technical considerations. [UPDATE: Part 2 is now live.]

Business considerations have a significant role in IT decision-making because your partnerships and budget commitments directly impact your company’s development agility, ability to adopt new technologies, and internal and external design decisions. When you start weighing your options, aside from transaction costs, there are a handful of questions you must ask to make sure that you maintain business agility.

Continue reading “Choosing a Java EE Application Platform, Pt. 1: Business Considerations”

Containers, cloud, and Java apps: A new video on development stacks

DevOps methodologies are core to a (modern) IT environment because they focus on strategic business demands: resilient design, rapid scale, and reliable service delivery. That last characteristic is the critical for effective DevOps environments.

The goal is for you to move through the total dev stack, as fast as your development team can code. Our new video shows how a Java app goes from being developed on an OpenShift container to launching on a production cloud instance in under five minutes.

Continue reading “Containers, cloud, and Java apps: A new video on development stacks”

JBoss EAP – Spearheading OSS adoption

There are a few Open Source technologies and products that have spearheaded the drive of Open Source  into the enterprise and managed to overcome historical objections  – Linux, Apache Web Server, MySQL, Postgres, WordPress, Hadoop, to name some of the better known technologies. Those technologies paved the way for the open source revolution of the last decade; every enterprise vendor and every organization has adopted open source to some degree. Open Source has won; get over it.

Continue reading “JBoss EAP – Spearheading OSS adoption”

Red Hat JBoss 2015 – What a Year!

I’ve been part of the Middleware (aka JBoss) team at Red Hat for almost 8 years now and I can say pretty unequivocally that 2015 was a huge year. Huge. Huge in terms of growth (the team, revenue, customers); huge in terms of the number of new initiatives and markets we’re taking on and huge in terms of product releases. I don’t plan to enumerate all the year’s achievements here – there are way too many, but I did want to cover a few of the more recent announcements.

Continue reading “Red Hat JBoss 2015 – What a Year!”

Java EE: Onward and Upward!

For many observers, I believe the take-away from this year’s JavaOne was: “business as usual.” In some important ways, business as usual here is a good thing.

Is Java (EE) dead?

There have been rumors and pontifications regarding a supposed demise of enterprise Java. There certainly are many areas and drivers of disruptive innovation in enterprise software development: microservices, event-driven programming, and the Internet of Things (IoT) are just a few. And yes, for a new project beginning in isolation with no constraints or requirements of backward compatibility, legacy integration, or management at scale, there are many new platforms and frameworks that may seem at first to be well-suited for any one of these new areas. But how many enterprise projects have that luxury?

Continue reading “Java EE: Onward and Upward!”

  • Page 2 of 2
  • <
  • 1
  • 2