Unit 1: Introduction to Platform Technologies PDF

Summary

This document provides an introduction to platform technologies, discussing various aspects of platforms like operating systems, computing platforms, database platforms and their roles in different areas of technology. It explores how platforms support software development and application functionalities. The document also touches upon concepts such as diversification and reduced risk.

Full Transcript

Unit 1: Introduction to Platform Technologies 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...

Unit 1: Introduction to Platform Technologies 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. With the Internet of Things though, what happens on the internet doesn't stay on the internet anymore. IT may be at the cutting edge of the platform revolution in technology but as information makes its way out into the physical world through the Internet of Things all physical technologies will be increasingly recognized as platforms becoming designed and operated as such. The smart grid will be a platform, the smart airport will be a platform, the smart city, car, and house will be platforms and even the smart door handle will be a platform. Topic 1. Definition of Platform Technologies What is a Platform? A platform is a group of technologies that are used as a base upon which other applications, processes or technologies are developed. In personal computing, a platform is the basic hardware (computer) and software (operating system) on which software applications can be run. This environment constitutes the basic foundation upon which any application or software is supported and/or developed. Computers use specific central processing units (CPUs) that are designed to run specific machine language code. In order for the computer to run software applications, the application must be in that CPUs binary-coded machine language. Platform Technologies Platform Technologies are the systems build upon a platform architecture that distributes the system out into different levels of abstraction. This is done in order to differentiate between core – platform – functions, and the application layer that sits on top of, and draws upon, these underlying common services. A platform is merely structure made up of “planks”, or integrated features. For instance, Google in 1998, wasn’t a platform; it was a really neat search engine. By adding planks such as Gmail, Maps, Docs, Voice, YouTube, and countless others, it became a true platform. BENEFITS OF PLATFORM TECHNOLOGIES IN TODAY’S SOCIETY: Increased Innovation All companies face limits; not even Google has infinite resources. But you can dramatically expand those limits. Building a powerful platform lets you cultivate an ecosystem of developers, partners, users, and other collaborators who contribute to – and may drive – innovation at your company. Think of Apple’s app tsunami. By inviting thousands of users to develop apps for its iPhone and iPad, the company generated billions in new revenue. It has tapped into an endless stream of investors and innovation. Quicker Response Times Platform companies move faster that their traditional counterparts. When your core products and services frequently change, it forces your employees and your organization to embrace change quickly. Bad habits are less likely to get ossified. Think of Amazon, First it sold only books. Soon it started selling virtually everything. In 2007 the company launched Kindle. In 2010 it started publishing books to read on the Kindle. In 2011 it introduced the Fire, to compete with the iPad. The Fire bring everything together – shopping, reading, and consuming media – and introduces more e-commerce and social networking opportunities. Reduced Risk Platforms encourage diversification and thus reduced risk. Imagine if Apple had remained only a maker of stylish but expensive computers? Chances are it would be struggling for its very existence right now. But with its multi-prolonged platform extending into music, telecommunications, media, commerce. Entertainment, and education, Apple is beautifully positioned to withstand any surprises the market sends its way. Types of Technology Platform Operating Systems Operating systems provide the basic services required to use hardware. These are the lowest level of platform. Almost all software runs on an operating system such as Linux with the only exceptions being low level firmware and embedded systems. Computing Platforms Platforms built on top of operating systems that provide computing functionality in areas such as cloud computing and virtualization. For example, a cloud computing platform that allows you to scale your services by adding and removing virtual machines as required. Database Platforms Cloud platforms for deploying and managing various types of database such as relational, NoSQL and in-memory databases. Storage Platforms Platforms for scalable storage of objects and files including APIs and value added services such as resilient storage that is backed up in multiple locations. Application Platforms Application platforms are environments and toolkits for developing and deploying applications, a class of software that is primarily designed to be used by people. For example, a platform that allows developers to build dynamic web applications by executing code and integrating with databases, systems and APIs. Mobile Platforms Mobile platforms include mobile operating systems and environments for building mobile apps. They also include cloud platforms for building mobile back-ends that provide services to mobile apps. This may include specialized APIs that are useful for mobile app developers in areas such as location services and voice recognition. Web Platforms Platforms that provide services that are useful to websites and web-based software as a service such as web servers, web application servers, content delivery networks and edge computing. Content Management Systems Platform for publishing and managing content, media and documents. These are often used internally in organizations as intranet site and document management system. They are also commonly used to publish web content such as newspaper, blog, or corporate website. Media Platforms Platforms for media publishing and analysis with tools such as video transcoding, streaming and recognition. API (Application Programming Interface) Platforms Cloud platforms for deploying APIs that are typically built around an API gateway that performs functions such as load balancing, latency reduction and rate limiting. Analytics Services for capturing, processing, analyzing and visualizing data. This may include tools for ingesting, processing, querying and managing big data. Security Security services such as firewalls, identity and access management, directory services, certificates, compliance, reporting, encryption, key management and threat detection. Robotics Robotics platform may include an operating system for robots with a framework for developing and deploying backend systems and services for robots for cloud infrastructure. Internet of Things Internet of things platforms may include an operating system for devices and a cloud platform with specialized APIs for internet of things in areas such as device management, IoT security and analytics. AI Platforms Services that are based on AI such as a voice synthesis service and tools for building your own AI such as machine learning API. This may also include environments for running your AI that are optimized for machine learning such as machine learning database. Game Platforms Environments that are optimized for running game services such as back-ends for mobile games. These may include services such as 3D game engines, AR and VR APIs. Topic 2. The Underlying Concepts in Computer Hardware Computer Hardware Hardware consists of the physical components of a computer, also referred to as the equipment of a computer. Hardware devices can be categorized according to their functionality on the computing device. The common physical components of a computer system that will be discussed are input (keyboard, mouse), storage (hard drive), memory (RAM), processing (CPU), output (monitor, printer) and communication (Network Interface Card, NIC). Input devices are any hardware devices that allows you to input data into a computer or interact with a computer. In the past, the most popular input devices included the mouse and keyboard. These days, however, there is quite a variety of input devices. One very popular example is the touchscreen keyboard on mobile smartphones. A storage device is a hardware device that allows you to store data for later use. There are many different storage devices, with each device having advantages and disadvantages. Some of the most popular storage devices include hard disk drives (HDDs) and solid-state drives (SSDs). The different storage devices will be discussed in more detail in later chapters. Random-access memory (RAM) refers to a fast, temporary form of storage. All data and instructions that is currently being executed is stored in RAM. RAM is volatile, that is, all data is erased from your RAM when your computer is turned off. RAM is also referred to as memory. Processing devices receive the data from the RAM, perform sets of instructions, and returns the processed data to the RAM. The two most important processing devices in modern computers are: 1. The Central Processing Unit (CPU) is responsible for processing general instructions. Every application makes use of the CPU to collect, decode and execute instructions as required by the application. 2. The Graphics Processing Unit (GPU) is responsible for processing the instructions that create the pictures on your screen, for example, three-dimensional games rely heavily on the GPU to create their images. Output devices are devices that return the computer’s instructions, as results, to the user. Popular output devices include monitors / screens and printers. A communication device is a hardware device capable of transmitting an analog or digital signal over a wired or wireless connection. Examples include, a modem and a network interface card (NIC) that can be either wired or wireless Topic 3. The Underlying Concepts in Systems Software Software Software refers to the set of instructions a computer uses to complete any instructed task. Software is the program that is operated by the hardware. These include programs such as, Microsoft Applications or InDesign Creative Suite. As a result, hardware and software are interdependent. Remember that this interdependence means that neither the software nor the hardware can function without the other one. Hardware cannot do anything without software because it depends on the processed instructions to provide input, while software cannot function without hardware to process the user’s instructions. The two most important types of software are: System software (including the operating system) Application software. System Software System software is the specific type of software that manages the flow of data and the information contained on the computer. The operating system (OS) is the most important type of system software. Examples of operating systems include Microsoft Windows, Linux, MacOS, iOS and Android. The OS is designed to control and coordinate the tasks and functions of computer hardware. Types of System Software Operating systems – helps you for the effective utilization of all hardware and software components of a computer system Programming language translators – transform the instructions prepared by developers in a programming language into a form that can be interpreted or compiled and executed by a computer system. Communication Software – allows us to transfer to transfer data and programs from one compute to another. Utility programs – are a set of programs that help users in system maintenance tasks, and in performing tasks of routine nature Application Software Application software is a program that is built for a specific purpose, like sending a message, browsing the internet, or typing a document. Application software refers to any software that lets the user accomplish a function or create content. Application software requires system software in order to function. This type of software includes media players, spreadsheets and word processors. When multiple applications are packaged together it is called an application suite. Examples include Microsoft Office, Google Chrome, Mozilla Firefox and Skype. Games and mobile applications such as Spotify and Uber, are also considered application software. Types of Application Software Word-processing software – it makes use of a computer for creating, modifying. viewing, storing, retrieving, and printing documents Spreadsheet software – is a numeric data-analysis tool that allows you to create a computerized ledger. Database software – is a collection of related data that is stored and retrieved according to user demand. Graphic software – it allows computer system for creating, drawing, graphs, etc. Education software – allows a computer to be used as learning and teaching tool. Entertainment software – this type of app allows a computer to be used as an entertainment tool

Use Quizgecko on...
Browser
Browser