Fundamentals of Web Programming a

Similar documents
Compiere ERP Starter Kit. Prepared by Tenth Planet

The Next Generation Enterprise

IBM ICE (Innovation Centre for Education) Welcome to: Unit 1 Overview of delivery models in Cloud Computing. Copyright IBM Corporation

SERVICE ORIENTED ARCHITECTURE (SOA)

Offering SaaS as SOA Services

Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise

Universal Description, Discovery and Integration (UDDI) 1.0

Enterprise PLM Solutions Advanced PLM Platform

FINACLE SERVICES: API MANAGEMENT USING CA API GATEWAY

Financial Analyst Meeting. October 5, 2017

CONVERGENCE OF CLOUD COMPUTING, SERVICE ORIENTED ARCHITECTURE AND ENTERPRISE ARCHITECTURE

Service Virtualization

for Oracle Cloud ERP

WHITE PAPER. CalAmp Connect An Enterprise M2M Application Enablement Platform

Parallels. Automation. Rapidly Launch Microsoft Office 365 Syndication with Parallels Automation. White Paper

ORACLE INFRASTRUCTURE AS A SERVICE PRIVATE CLOUD WITH CAPACITY ON DEMAND

Selim Burduroğlu Enterprise Architect Friday, December 2, 2005

itsmf Annual Conference 2012

Integration and Infrastructure Software White Paper. Integrating zseries applications and processes as Web services in an SOA environment.

Oracle s Service-Oriented Architecture Strategy

WHITEPAPER WHITEPAPER. Processing Invoices in the Cloud or On Premises Pros and Cons

Architecture Approach for Mobile Service Security

Software-asa-Service: The HCM Perspective

CIS 8090 Intro. Setting the stage for the semester Arun Aryal & Tianjie Deng

A General Maturity Model and Reference Architecture for SaaS Service

Cloud Computing What s best for your business?

SharePoint Server 2010 Enterprise Content Management

SAP Business One OnDemand. SAP Business One OnDemand Solution Overview

Oracle Cloud Blueprint and Roadmap Service. 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Ticketing: How ACME s Cloud-Based Enterprise Platform Benefits Your Business

CIO Update: A Formula for E-Commerce Success in Web Services

Alcatel-Lucent OmniVista 2500 NMS C for Network on Demand Service Multi-tenant Network Management

Service Oriented Architecture

Tough Math for Desktop TCO

IN the inaugural issue of the IEEE Transactions on Services Computing (TSC), I used SOA, service-oriented consulting

Infoblox DDI Best Practices Guide

XML Gateway with BPEL - B2B and A2A integrations are now simpler and faster than ever

License Mobility through Microsoft Software Assurance. Licensing guide

OpenShift Dedicated: An Inmarsat Story

Glossary of Licensing Terms

Designing a Microsoft SharePoint 2010 Infrastructure

The Value of Oracle Database Appliance (ODA) for ISVs

ACCELERATING DIGITIZATION THROUGH NEXT-GENERATION INTEGRATION

Position Description. Job Summary: Campus Job Scope:

An Enterprise Architect s Guide to API Integration for ESB and SOA

Automating the Collaborative Enterprise

IBM Virtual Appliance for Oracle Database

Free On-Line Microsoft PDF

Cloud Solutions Infrastructure, Platform or Software

The Cost of IT. .

Key Benefits of Novell ZENworks 10 Configuration Management. Enterprise Edition

White Paper. Non Functional Requirements of Government SaaS. - Ramkumar R S

Oracle Big Data Cloud Service

Advanced Support for Server Infrastructure Refresh

Enterprise Services Repository

Epicor Cloud ERP Services Specification Single Tenant SaaS and Single Tenant Hosting Services (Updated July 31, 2017)

Sharing current and archived patient data in the EMC Federation Enterprise Hybrid Cloud

ECONOMIC AND STRATEGIC BENEFITS

In Pursuit of Agility -

Chapter 2 Basic Cloud Computing Types

NOT ALL CLOUDS ARE CREATED EQUAL

Product Innovation Platform Assessment

Application Migration to the Cloud C L O U D A N A L Y T I C S D I G I T A L S E C U R I T Y

Implementing Microsoft Azure Infrastructure Solutions

Oracle Autonomous Data Warehouse Cloud

Building and Managing Cloud Applications and Infrastructure

Cisco Enterprise Mobility Services Platform (EMSP)

I D C T E C H N O L O G Y S P O T L I G H T. S e r vi c e s f o r Machine Data An a l yt i c s?

MOVE YOUR BUSINESS TO THE CLOUD

SOA and Mainframe Applications

Oracle Platform as a Service and Infrastructure as a Service Public Cloud Service Descriptions-Metered & Non-Metered.

IT Infrastructure and. Platforms. Chapter by Prentice Hall

ERP Edge Tech Mahindra Oracle Cloud Transforming your business to capture profit in the Cloud

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

VULNERABILITY MANAGEMENT BUYER S GUIDE

EMC ATMOS. Managing big data in the cloud A PROVEN WAY TO INCORPORATE CLOUD BENEFITS INTO YOUR BUSINESS ATMOS FEATURES ESSENTIALS

Chapter 3. The Integration as a Service Paradigm

Using IBM UrbanCode Deploy to automate the migration and deployment of on-premise WebSphere application and configuration to IBM Bluemix

Introduction to Cloud Computing. White Paper

Innovation From the Ground Up:

Research on CITIS System Data Exchange Method for CALS

A Fresh Look at the Mainframe

TRANSFORM YOUR ENTERPRISE WITH HYBRID CLOUD

KEEP THE LIGHTS ON - APPLICATION MAINTENANCE AND SUPPORT

Strategies for Taming Data Growth through Archiving

Architecting Web Service Applications for the Enterprise

Oracle Siebel CRM On Demand Integration Pack for JD Edwards EnterpriseOne (Opportunity to Cash)

Difference between the ASP Model and the SaaS Model. LuitBiz. Phone:

Online Support for Project Management Developed on Service-Oriented Architectures

PERSPECTIVE. Microservices A New Application Paradigm. Abstract

Service Oriented Architecture A PSI Whitepaper

Tech Mahindra s Cloud Platform and PaaS Offering. Copyright 2015 Tech Mahindra. All rights reserved.

SOLUTION BRIEF CA Client Automation. Can you streamline IT operations, drive greater efficiency and reduce costs?

COMPUTE CLOUD SERVICE. Move to Your Private Data Center in the Cloud Zero CapEx. Predictable OpEx. Full Control.

CLOUD COMPUTING- A NEW EDGE TO TECHNOLOGY

SAP CENTRAL PROCESS SCHEDULING BY REDWOOD: FREQUENTLY ASKED QUESTIONS

Lotus Notes & Domino Strategy

Integration Through A Service Oriented Architecture

ORACLE DATA INTEGRATOR ENTERPRISE EDITION

ADVANTAGE YOU. Drive TCO* reduction through Infosys TIBCO solutions

Transcription:

Fundamentals of Web Programming a Software As A Service Teodor Rus rus@cs.uiowa.edu The University of Iowa, Department of Computer Science a Copyright 2009 Teodor Rus. These slides have been developed by Teodor Rus using material published on Wikipedia. They are copyrighted materials and may not be used in other course settings outside of the University of Iowa in their current form or modified form without the express written permission of the copyright holder. During this course, students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of the copyright holder. Introduction System Software. Copyright Teodor Rus p.1/26

The Concept Software as a service (SaaS) is a model of software deployment whereby a provider licenses an application to customers for use as a service on demand. Approach: SaaS software vendors may host the application on their own web servers or download the application to the consumer devices, disabling it after use or after the on-demand contract expires. The on-demand function may be handled internally to share licenses within a firm or by a third-party application service provider (ASP) sharing licenses between firms. Introduction System Software. Copyright Teodor Rus p.2/26

Goal The sharing of end-user licenses and on-demand use may reduce investment in server hardware or the shift of server use to SaaS suppliers of applications file services. Introduction System Software. Copyright Teodor Rus p.3/26

References 1. Finch, Curt (2006-01-02). The Benefits of the Software-as-a-Service Model. http://www.computerworld.com/action/article.do? command=viewarticlebasic&articleid=107276. 2. Bennett, Keith; et al. (December 2000). "Service-based software" (PDF). http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=896702 3. SIIA (2001-02). Software as a Service: Strategic Backgrounder. http://www.siia.net/estore/ssb-01.pdf. 4. Archive.org crawled site in 1999. http://web.archive.org/web/19991007185122/http://siteeasy.com/ 5. Traudt, Erin; Amy Konary (June 2005). "2005 Software as a Service Taxonomy and Research Guide". IDC. pp. 7. Introduction System Software. Copyright Teodor Rus p.4/26

More References 6. "Architecture strategies for catching the long tail". April 2006. Retrieved 2008-05-24. 7. Wainewright, Phil (October 2007). "Workstream prefers virtualization to multi-tenancy". Retrieved 2008-05-24. 8. Chong, Fred (October 2006). "Multi-tenancy and Virtualization". Retrieved 2008-05-24. 9. Schuller, Sinclair (March 2007). "Repealing the SaaS Tax". Retrieved 2008-05-24. 10. The Overlapping Worlds of SaaS and SOA 11. Gartner Survey Shows Many Users are Underwhelmed by Their Experiences of SaaS, Gartner.com, 2009-07-08. Retrieved 2009-09-16 12. "SaaS 2.0: Saugatuck Study Shows Rapid SaaS Evolution to Business Platforms". April 2006. Retrieved 2006-09-01. Introduction System Software. Copyright Teodor Rus p.5/26

History The concept of "software as a service" started to circulate before 1999.[1] Some breaking points: In December 2000, Bennett et al. noted the term as "beginning to gain acceptance in the marketplace".[2] The acronym "SaaS" was allegedly coined in the white paper called "Strategic Backgrounder: Software as a Service", which was published in February 2001 by the Software & Information Industry s (SIIA) ebusiness Divisions Introduction System Software. Copyright Teodor Rus p.6/26

Philosophy SaaS does not concern computer user! Rather: SaaS is used by software professionals and business associates with the meaning of business software; It is typically thought of as a low-cost way for businesses to obtain rights to use software as needed versus licensing all devices with all applications. On-demand licensing enables the benefits of commercially licensed use without the associated complexity and potential high initial cost of equipping every device with the applications that are only used when needed. Introduction System Software. Copyright Teodor Rus p.7/26

Fact Virtually all software fits the SaaS model. Example: A licensed copy of a word processor had to reside on the machine to create a document. The equipped program has no intrinsic value loaded on a computer that is turned off for the night. Remote administration software attempts to resolve this issue through sharing CPU control instead of licensing on demand. SaaS achieves efficiencies by enabling the on demand licensing and management of the information and output, independent of the hardware location. Introduction System Software. Copyright Teodor Rus p.8/26

SaaS Applications SaaS applications were developed specifically to leverage web technologies such as the browser, thereby making them web-native. The data design and architecture of SaaS applications are specifically built with a multi-tenant backend, thus enabling multiple customers or users to access a shared data model; SaaS providers leverage enormous economies of scale in deployment, management, and support throughout the Software Development LifeCycle. Introduction System Software. Copyright Teodor Rus p.9/26

Characteristics Main characteristics of SaaS software includes: 1. Network-based access to, and management of, commercially available software; 2. Activities managed from central locations rather than at each customer s site, enabling remote access via the Web; 3. Application delivery typically closer to a one-to-many model than to a one-to-one model, including architecture, pricing, partnering, and management characteristics; 4. Centralized feature updating, which obviates the need for end-users to download patches and upgrades; 5. Frequent integration into a larger network of communicating software (either as part of a mashup or as a plugin to a platform as a service). Introduction System Software. Copyright Teodor Rus p.10/26

Pricing Providers of SaaS generally price applications on a per-user basis with a relatively small minimum number of users and often with additional fees for extra bandwidth and storage. Introduction System Software. Copyright Teodor Rus p.11/26

Consequences SaaS revenue streams to the vendor and therefore are lower initially than traditional software license fees. Recurring nature of SaaS use is viewed as more predictable, and much like maintenance fees for licensed software. In addition, SaaS software has these additional benefits: 1. More feature requests from users since there is frequently no marginal cost for requesting new features; 2. Faster releases of new features since the entire community of users benefits from new functionality; 3. The embodiment of recognized best practices (since the community of users drives the software publisher to support best practice). Introduction System Software. Copyright Teodor Rus p.12/26

Implementation SaaS architectures can generally be classified as being at one of four "maturity levels" whose key attributes are: 1. configurability, 2. multi-tenant efficiency, 3. scalability. Each level is distinguished from the previous level by the addition of one of those three attributes. Introduction System Software. Copyright Teodor Rus p.13/26

Level 1 Ad-Hoc/Custom, characterized by: Each customer has its own customized version of the hosted application and runs its own instance of the application on the host s servers. Migrating a traditional non-networked or client-server application to this level of SaaS typically requires the least development effort and reduces operating costs by consolidating server hardware and administrations. Introduction System Software. Copyright Teodor Rus p.14/26

Level 2 Configurable, characterized by: Greater program flexibility through configurable metadata, so that many customers can use separate instances of the same application code. This allows the vendor to meet the different needs of each customer through detailed configuration options, while simplifying maintenance and updating of a common code base. Introduction System Software. Copyright Teodor Rus p.15/26

Level 3 Configurable, Multi-Tenant-Efficient, characterized by: A single program instance serves all customers. This approach enables more efficient use of server resources without any apparent difference to the end user, but ultimately comes up against limits in scalability. Introduction System Software. Copyright Teodor Rus p.16/26

Level 4 Scalable, Configurable, Multitenant-Efficient, characterized by: The fourth and final SaaS maturity level adds scalability through a multitier architecture supporting a load-balanced farm of identical application instances, running on a variable number of servers. The provider can increase or decrease the system s capacity to match demand by adding or removing servers, without the need for any further alteration of applications software architecture. Introduction System Software. Copyright Teodor Rus p.17/26

Virtualization SaaS architectures may also use virtualization, either in addition to multi-tenancy, or in place of it. Benefits: Virtualization can increase the system s capacity without additional programming. However, a considerable amount of programming may be required to construct a more efficient, multi-tenant application. Combining multi-tenancy and virtualization provides still greater flexibility to tune the system for optimal performance. In addition to full operating system-level virtualization, some virtualization techniques applied to SaaS include application virtualization and virtual appliances. Introduction System Software. Copyright Teodor Rus p.18/26

Components SaaS applications may use various types of software components and frameworks. Benefits: These tools can reduce the time-to-market and the cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples: include components for subscription management, grid computing software, web application framework. Introduction System Software. Copyright Teodor Rus p.19/26

Evolutionary Origin of SaaS The origin of Web Services is the development of the distributed computer technology that support interoperability. A Web service is defined by the two HTTP methods: GET, POST and a vast collection of markup documents; Rather than deploying documents, one can deploy software components; Components can however be run on the Web server as remote services. Remote Procedure Call and the two technologies that followed DCOM (Microsoft) and CORBA (OMG) are best known examples. Introduction System Software. Copyright Teodor Rus p.20/26

Component Interoperation Neither DCOM nor CORBA support universal component interoperability, which means: "when a software needs a service it should be implicitly available on the Wei". There are three roles required in order to use Web services: 1. Service providers (producers); 2. Service requesters (consumers); 3. Service registry. Introduction System Software. Copyright Teodor Rus p.21/26

Service Providers A service provider must develop and deploy software that provide services. The service must have a standard description. The Web Service Description Language (WSDL) is the language designed for service description. WSDL is a W3C standard based on XML. Its specification is published on a Web server similar to other Web accessible documents. The description of service data (input and output) as well as the specific operations provided by a Web Service and the protocols for messages Web service can send/receive are written in WSDL. Introduction System Software. Copyright Teodor Rus p.22/26

Web Service Registry The Universal Description, Discovery, and Integration (UDDI) is the registry created for Web Service Registration. UDDI provides methods for querying Web service registry to determine what specific services are available; UDDI has two kinds of clients: service providers and service requesters who query UDDI using WSDL queries; Service providers query the UDDI for service registry; service requesters query the UDDI for service use; UDDI registry respond with the protocol of how the providers/requesters may interact with the requested Web services. Introduction System Software. Copyright Teodor Rus p.23/26

SOAP SOAP is an XML tag set that defines forms of massages and RPCs used by the Web services registered on the UDDI. SOAP was originally an acronym for Standard (Simple) Object Access Protocol, designed to describe data objects; The root element of a SOAP document in Envelope, so SOAP documents are also called envelops; The body of a SOAP message is either a request (which is a RPC) or a response (which contains values returned from the service; SOAP messages are sent using HTTP POST method. Introduction System Software. Copyright Teodor Rus p.24/26

Service Consumers Web service consumers are clients of services which can be: Web applications, non-web-applications, or other Web-services. Web service client architecture: Web service client includes a proxy on the client machines which is a local substitute for the remote Web service; The client can call the methods of the remote service, so the calls are received by the proxy; Special tools are designed for this purpose. See Cloud computing and ASP.NET. Introduction System Software. Copyright Teodor Rus p.25/26

Another View Web services are business objects that concern computer use as a problem solving tool. However: The Web service business participants are all computer experts. On the other hand, computer use as a problem solving tool conquers all aspects of human life. Since software tools supporting the development and use of Web services are designed by and are targeted to computer experts, the current Web service business excludes most of its potential customers from their participation. To show this anomaly we take a look at the three main bricks supporting the Web service business: WSDL, SOAP, and UDDI. Introduction System Software. Copyright Teodor Rus p.26/26