Modern App Development

Modern applications are hard to get right. The tools, constraints, and possibilities are changing too fast. Oracle’s framework for application development simplifies the architectural decision-making so you can build and run apps that are highly available, resilient, fully secure, and compliant by using a set of design principles and technology recommendations.

Learn more about modern app development by exploring the reference application Universal Health Organization (UHO), available on GitHub. This application adheres to the principals and patterns of the Modern App Development Framework. In particular, it implements elements of the Web or Mobile, Messaging, and Event-driven architecture patterns. Check out the reference application to learn more about the modern app development principles and patterns.

Core requirements

Common requirements that apply to any modern application.


Security and compliance

Align security policies with industry best practices and enforce them across the layers of the app stack. Ensure the confidentiality and integrity of data. Use privilege management to identify and manage who can perform certain tasks. Make it easy to detect and diagnose security events.


Availability

Make apps available 24/7/365 with no downtime, planned or otherwise.


Scalability

Scale gracefully from tens to thousands to millions of users and handle increasing volumes of data—without needing to redesign the app in the future.


Performance

Provide the lowest latency and highest throughput required for the best possible user experience.


Agility

Rely on modern automation tools and methods for build and deployment processes. Avoid bottlenecks caused by the need for manual tasks.


Observability

Record performance metrics and monitor system performance for any degradation. Enable teams to automatically generate alarms when these measurements are outside expected boundaries.


Resiliency

When problems happen, ensure that apps recover gracefully, quickly restore lost functionality, prevent data loss, and don’t negatively impact user experience.


Cost Optimization

Run at the lowest possible total cost, balancing all the other requirements.


Portability

Ensure that application architecture adheres to open standards—which eases migration from on-premises to cloud, or across vendors.

Categories and recommended technologies, description below This image shows the categories and recommended technologies that are described in the surrounding text. The relationships between the categories are illustrated as follows: the Languages and Frameworks category is an input to the DevOps category which is, in turn, an input to the Application category. These three categories are supported by the Security and Governance category which is itself supported by the Observability and Management category. Each category contains images depicting the most prominent technologies for that category.