Module-1.docx
Document Details
Uploaded by FlashyMeter
Manila Adventist College
Full Transcript
**Module 1: Perspective and Impact** With the rise of information technology and the ever-increasing complexity of our technology landscape, platforms have become the design paradigm of choice for today\'s complex engineered systems. We first saw the power of the platform model in the development o...
**Module 1: Perspective and Impact** With the rise of information technology and the ever-increasing complexity of our technology landscape, platforms have become the design paradigm of choice for today\'s complex engineered systems. We first saw the power of the platform model in the development of the personal computer some twenty to thirty years ago as operating system providers built their technology as a platform for software developers to create applications on top. But it was not until the past decade with the widespread advent of the internet that the platform model has truly come of age as virtually every internet company from the biggest search giants to the smallest little social media widgets has started to define their solution as a platform. **Factors converging to give rise to new technology:** 1. Firstly information technology and the **rise of the services economy** means technology solutions can be built via a service-oriented architecture by connecting up services from different providers, as technology developers increasingly build products on top of other people\'s platforms. 2. Secondly **complexity**; to deal with this ever-increasing complexity of our technology landscape will require a move from the standalone solutions of today, into a world of systems of systems, where smaller technologies are nested within larger ones which in turn are nested within larger ones in a plug and play, flexible, modular, service-oriented architecture. 3. Thirdly **user generated systems**; increasingly end-users are becoming producers and to harness this new source of innovation means closed systems have to open up; creating APIs and platforms on which end-users can alter, adapt and innovate while being supported by the core technology **What is a platform?** A platform is a group of technologies that are used as a base or infrastructure upon which other applications, technologies or processes are developed for the end-user. For example, in personal computing, a platform is the basic hardware and operating system on which software applications can be run. In the context of computer systems and software architecture, the terms \"platform layer\" and \"application layer\" refer to different levels or components of a system. These layers are part of a layered architecture model, which helps in organizing and structuring complex software systems. A platform is any base of technologies on which other technologies or processes are built. Most services that the end users use will be build on top of platforms. **Hardware + Software + Networks = Platform** **Layers of Platform Technology** 1. Platform Layer - The platform layer, also known as the infrastructure layer or system software layer, forms the foundation for running applications. It includes the operating system, middleware, and other essential software components that provide a runtime environment for applications. The platform layer abstracts and manages hardware resources, such as memory, CPU, storage, and network, providing a standardized interface for applications to run efficiently. Examples of platform layer components include operating systems like Windows, Linux, or macOS, as well as middleware like databases, web servers, and communication protocols. 2. Application Layer - The application layer sits on top of the platform layer and represents the actual software applications that users interact with to perform specific tasks. It includes a variety of applications, ranging from simple utilities to complex business software and consumer applications. The application layer is responsible for implementing business logic, user interfaces, and specific functionality tailored to meet the end-users\' needs. Examples of application layer software include web browsers, word processors, email clients, games, and enterprise resource planning (ERP) systems **Relationships between two layers:** - Applications in the application layer rely on the services provided by the platform layer. The platform layer abstracts the underlying hardware and provides a consistent environment for applications to run. - The separation of the platform and application layers promotes modularity, scalability, and maintainability in software development. Changes to the application layer should not affect the platform layer, and vice versa. Example: Consider a web application: The platform layer could consist of an operating system (e.g., Linux), a web server (e.g., Apache or Nginx), and a database server (e.g., MySQL or PostgreSQL). The application layer would then include the actual web application code written in a programming language like Python, Java, or JavaScript. The foundation of platform technologies is built upon several key components, each playing a crucial role in providing a stable and efficient environment for running applications. **Principles of a Platform Technology** 1. **Abstraction** a. Abstraction is the quality of dealing with generic forms rather than specific events, details or applications. In this respect, abstraction means removing the application of the technology from the underlying processes and functions that support that application. The platform is an abstraction, meaning that in itself it does not have application. Examples: - A house is a platform, IOT is the application. IoT platforms for houses will be built where any device, technology or item that enters into the house can then connect into the platform and become an application, the house platform can then manage these applications. 2. **Bunding** b. This is achieved by defining a core set of building blocks and then configuring them into different bundles depending on the context. Platform design goes hand in hand with a service-oriented architecture, where developers of applications treat the building blocks as services that they then simply string together in different ways to build their solutions 3. **Interoperability** c. Platforms are open systems, unlike traditional technologies that are simply designed as individual physical objects that perform a function, platforms are designed to be interoperable with other systems, they will likely have external applications running on top of them all of which can not be fully foreseen by the developers of the platform. 4. **Evolution** d. Adaptive capacity and agility are, and will increasingly be seen as a key requirement, if not the key requirement, in the coming decades. In stable and predictable environments technologies can be built as homogeneous systems without the capacity to change, enabling them to be optimized for efficiency within one environment. But as that environment and the pace of innovation changes, faster and faster, this homogenous architecture appears less viable and there is a need to switch to a platform model to enable fast-paced innovation at the edges of networks. **Components of Platform Technology** 1. **Interface** - The interface is a critical aspect of platform technologies as it serves as a bridge between different components of a system, allowing them to communicate and interact seamlessly. - In the context of platform technologies, interfaces can be categorized into various types, including user interfaces (UI) for human-computer interaction and application programming interfaces (APIs) for software-to-software communication. - User interfaces provide a way for users to interact with applications, while APIs define how different software components or services can interact programmatically. 2. **Application** - The application layer represents the software solutions and services that users interact with to perform specific tasks or functions. - Applications are built on top of the platform layer and leverage the underlying infrastructure and services provided by the platform. - This layer includes a wide range of software, such as web applications, mobile apps, desktop applications, and more. 3. **Operating System** - The operating system (OS) is a fundamental component of platform technologies, serving as an intermediary between hardware and software. - It manages hardware resources, provides essential services to applications, and ensures a secure and stable environment for software execution. - Key functions of an operating system include process management, memory management, file system management, and device drivers. 4. **Infrastructure** - Infrastructure refers to the underlying hardware and networking components that support the platform and applications. - This includes servers, storage devices, network equipment, and other physical or virtual resources. - Infrastructure can be on-premises or cloud- based, and the choice of infrastructure impacts factors such as scalability, reliability, and performance. 5. **Interrelationship/Interoperability** - The interface facilitates communication between different layers of the platform, allowing applications to interact with the operating system and infrastructure through well-defined interfaces. - Applications rely on the operating system to manage resources efficiently and provide a stable execution environment. - The infrastructure supports the entire platform by providing the necessary hardware and network resources for applications and the operating system to function. **Generation of Computers** **History of Operating Systems** Throughout this lecture, the main platform needed to be understood is the Operating System. Albeit having different types of operating systems now, it remains the main platform all applications run on top of. An Operating System is a program that acts as an intermediary between a user of a computer and the computer hardware **Operating system goals:** - Execute user programs and make solving user problems easier - Make the computer system convenient to use - Use the computer hardware in an efficient manner Prepared by: **CHRISTIAN JAMES A. CHU** *Instructor 1*