220 likes | 406 Views
IT Infrastructure: Software. CIS 2200 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College. Learning Objectives. Identify and describe the different types of software Describe distributed computing Describe open source software
E N D
IT Infrastructure: Software CIS 2200 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College
Learning Objectives • Identify and describe the different types of software • Describe distributed computing • Describe open source software • Explain cloud computing, its different types, and its advantages and risks
This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA
What is Software? • A computer program or a collection of programs • Precise set of instructions that tells hardware what to do
Mobile OS (IDC, 2014)
Firmware and Embedded Systems • Firmware • Software stored on nonvolatile memory chips (as opposed to being stored on devices such as hard drives or removable discs) • Embedded systems • Special-purpose software designed and included inside physical products (often on firmware) • Helping devices become “smarter”
Application Software • Desktop Software - Applications installed on a personal computer, typically supporting tasks performed by a single user • Enterprise software - Applications that address the needs of multiple users throughout an organization or work group • Types of Enterprise Software
The Front-end and the Back-end • Graphical user interface • Mechanisms through which users interact with the system (menus, scroll bars) • Databases – to manage data • Database management system (DBMS) • Software used for creating, maintaining, and manipulating data
Distributed Computing • Web services • Small pieces of code that are accessed via the application server which permit interoperable machine-to-machine interaction over a network • Application programming interfaces (APIs) • Programming hooks (or guidelines) published by firms that tell other programs how to get a service to perform a task, such as send or receive data • Service-oriented architecture (SOA) • A robust set of Web services built around an organizations processes and procedures
Data Exchange – Messaging Standards • EDI (Electronic Data Interchange) • A set of standards for exchanging information between computer applications • A way to send the electronic equivalent of structured documents between different organizations • Extensible markup language (XML) • A tagging language that can be used to structure data
Developing Software Programs • Programming Languages • Provides the standards, syntax, statements, and instructions for writing computer software • IDE (Integrated Development Environment) • C++, C#, Visual Basic, and Java • Development entails more than writing programs/code
Total Cost of Ownership (TCO) Different cost categories that comprise total cost of ownership: • Software development and documentation • Purchase price • Ongoing license and support fees • Configuration • Testing • Deployment • Maintenance • Support • Training • Compliance auditing • Security, backup • Provisions for disaster recovery
Economics of Software • Low or zero marginal cost • Open source software • Software that is free and where anyone can look at and potentially modify the code • Questions facing big software firms • How can we compete with free? • How can we make money and fuel innovation on free? • Cloud computing
Open Source Software • Openness in stark contrast to the practice of conventional software firms • Intellectual property as closely guarded secrets • Examples • Linux, Apache, MySQL, Perl/Python/PHP (LAMP) • Firefox • OpenOffice
Cloud Computing • Moving software out of its own IS shop so that it is run on someone else’s hardware • Replacing computing resources with services provided over the Internet • Software as a service (SaaS) • A form of cloud computing where a firm subscribes to a third-party software and receives a service that is delivered online • Utility computing – platform as a service, infrastructure as a service • Private and public clouds • Virtualization
Software as a Service • Build vs. buy vs. rent • Advantages • Lower costs associated with the software licenses, server hardware, system maintenance, and IT staff • Faster deployment times • Variable operating expense • Scalable systems • Higher quality and service levels • Remote access and availability • Usage-based pricing model
Risks of SaaS • Dependence on a single vendor • Concern about the long-term viability of partner firms • Users may be forced to migrate to new versions • Reliance on a network connection • Data assets stored off-site - security and legal concerns • Limited options • Less rich user interface • Pockets of unauthorized IT use throughout the organization
Summary • What is the difference between operating system and application software? • Identify different types of application software • What is distributed computing? • What is cloud computing? Different types of cloud computing? • What is open source software?