Skip to main content

Certified Enterprise Architect Professional (CEAP) - Module 9: Application Architecture

Software Architecture vs Application Architecture:

While both terms are related to designing software systems, "software architecture" refers to the high-level design of an entire system, encompassing its components, interactions, and overall structure, while "application architecture" focuses specifically on the structure and design of a single application within that system, defining how its various components interact to achieve desired functionality; essentially, application architecture is a subset of software architecture concerned with the details of a particular application.

Example:

Enterprise architecture example:

Enterprise architecture create overall architecture of a e-commence platform which includes Hardware, RDBS, Cloud, Networking etc. 

Software architecture example:

Choosing a microservices architecture for an entire e-commerce platform, where different services (user management, product catalog, payment processing) are loosely coupled and can be independently developed and scaled. 

Application architecture example:

Designing the user interface, backend logic, and database interactions for the "cart" feature within that e-commerce platform.

Application architecture involves:

  • Allows agility, reliability, and scalability
  • It ensures an organisation can implement change effectively and swiftly.
  • Simplify complicated applications by decomposing them into two or more applications.
  • Identify logical applications and the most appropriate physical applications.
  • Develop matrices across the architecture by relating applications to business service, business function, data, process, etc.
  • Elaborate a set of Application Architecture views by examining how the application will function, capturing integration, migration, development, and operational concern
Application portfolio management:
An organisation and processes designed to catalogue, describe, and value the applications
of an enterprise, with a view to rationalisation or optimisation of those applications.

Applications Architecture Structural Model
  1. A diagram that displays applications and the data flows that pass between them
  2. Typically drawn using some kind of Data Flow Diagram
  3. Where there are too many data flows, they may be abstracted into dependencies in some kind of dependency diagram

Applications Architecture Behavioural Model
  1. A diagram that shows how a process works by illustrating the interaction of users and applications
  2. Often drawn using some kind of interaction diagram
  3. Frequently used to inspect where time is lost in or between application processing stages

Comments

Popular posts from this blog

Certified Enterprise Architect Professional (CEAP) - Module 4 - Architecture Precursors

 Architecture Precursors: Precursors to modern Enterprise Architecture (EA) include early frameworks like IBM's Business Systems Planning (BSP), which focused on aligning business strategy with information systems, as well as other Information Systems (IS) architecture methodologies that emerged in the 1970s and 80s, emphasizing the connection between business processes and IT systems, laying the groundwork for the holistic view of an organization that EA represents today; the "Master Plan for Information Systems" by Evans and Hague is also considered a foundational concept in this area. Drivers: internal / external pressure enforce to change the system Aims & Directives: Aims:  Goals Objectives Requirements Directives: Principles (example: Principles can be associated with business, data, applications, infrastructure, or security) Policies (example: Members of the public have minimal access to data) Business Rules (example: A rule directs and restricts a procedure)

Scaled Agile Framework (SAFe)

The Scaled Agile Framework (SAFe) is a set of organizational and workflow patterns for implementing agile practices at an enterprise scale. The framework is a body of knowledge that includes structured guidance on roles and responsibilities, how to plan and manage the work, and values to uphold. Scrum is a simple, flexible approach to adopting Agile that's great for small teams. SAFe is an enterprise-wide Agile framework designed to help bring Agile beyond the team and into the company as a whole. Scaled Agile has built a comprehensive level that includes all the four layers called the team, program, large solutions, and portfolio level. 4 Layers: Portfolio - Strategy, Vision, Roadmap, Strategy goal, Decision making, Budget, Portfolio level metrics,  Program - Align multiple teams towards a common mission, Bring together all the Agile teams, transparency, collaboration, and synchronisation, Scrum of Scrums, Product Owners to define the overall vision. Large Solutions - ar...

4 T's - Technology, Time, Teamwork, Transparency

 1) Technology: Software development technologies are the tools and methods that developers use to design, develop, test, and deploy software applications. These include a wide range of software technologies, such as programming languages, frameworks and libraries, databases, and cloud computing platforms. 2) Time: A timebox is a fixed time period within which a deliverable must be produced in a project management context. It's a time management technique that involves dividing time into individual time periods, each with its own goal, duration, and deadline. Timeboxes are self-contained calendar events that can't be extended once they've started. The fundamental principle of timeboxing is that time in timeboxes can't shift, and once the time runs out, work must stop, even if the task isn't finished.  3) Teamwork: Teamwork in project management is a measure of how well a project's team works together to achieve a goal. It involves collaboration, communication, a...