21st Century Applications – Responsive, Scalable, Resilient, and Event Driven
I have been thinking more about application development lately especially given the growth and expansion this year of what was previously known as SAP TechEd into SAP d-code. Given SAP’s expanded technology portfolio, and their growing developer community, I really look forward to attending SAP d-code this fall.In my work dealing with enterprise architects over many years, I’ve been looking for the right words to articulate the set of application patterns that I’ve seen emerge across utilities, banking, retail, and media. I’ve think that I have discovered it in Redmonk’s Why the Future of Business is Reactive and The Reactive Manifesto.
The Reactive Manifesto, outlines these patterns in detail. Reactive applications are responsive, scalable, resilient, and event driven.
“Application requirements have changed dramatically in recent years. Only a few years ago a large application had tens of servers, seconds of response time, hours of offline maintenance and gigabytes of data. Today applications are deployed on everything from mobile devices to cloud-based clusters running thousands of multicore processors. Users expect millisecond or even microsecond response times and 100% uptime. Data needs are expanding into the petabytes.” – from The Reactive Manifesto
SAP is clearly at the forefront of these changes with SAP HANA. SAP HANA has enabled a wide range of modern use cases (e.g. internet of things, precision retailing, SAP Precision Marketing, energy supply chain optimization).
I’ve recently looked at a few complementary technologies that could help empower the SAP Developer Ecosystem when building reactive applications for the enterprise. Scala, Akka, and the Play Framework are all open source technologies that run in the Java Virtual Machine (JVM), and are designed from the ground up to enable reactive applications. There seems to be interest around SAP in these technologies.
Akka is for building highly concurrent, event driven applications. The Play Framework is for building high velocity web applications. Akka and the Play Framework have APIs for Java (i.e. do not require Scala). These technologies are used at Twitter, Box, LinkedIn, Workday, Apple, GE, Morgan Stanley, BBC, Nest, CSC, GILT, and many others. Scala is enjoying an impressive rise in adoption from it’s first release in 2003 to ranking 12th in the RedMonk Language Popularity Rankings for Q1, 2014. Scala also won InfoWorld’s 2014 Technology of the Year Award. (See also go.typesafe.com, case studies, and activator.)
As I attend ” SAPPHIRENOW and ASUG Annual Conference” next week, and d-Code in October in Las Vegas, I’ll be interested in speaking with others about Reactive applications, and how we leverage the next wave of enterprise ready technology to build them
What do you think of these technologies ? What do you think of their potential for SAP customers ?