15
Application Development over Software-as-a-Service platforms Javier Espadas David Concha Arturo Molina Research Center: Innovation Center in Design and Technology Research Chair: Rapid product realization for developing markets using Emerging Technologies

Application Development over Software-as-a-Service platforms

Embed Size (px)

DESCRIPTION

New web development and deployment platforms are arising; some examples of these are Apex of Salesforce.com, Google Application Engine SDK, Facebook API, and so on. These Software Delivery Platforms (SDP) are meant to serve as the basis for the delivery of an important percentage of the software offer. In the other hand, application development over these new platforms is not a defined process. Building applications over an SDP change the way software is designed, developed and delivered. Common methods of software development should be analyzed and redefined in order to fulfill the requirements of these new ways of constructing and delivering software. This paper presents the analysis of the impact of these requirements and proposes guidelines to be applied for application development in Software-as-a-Service (SaaS) environments.

Citation preview

Page 1: Application Development over Software-as-a-Service platforms

Application Development over Software-as-a-Service platforms

Javier EspadasDavid ConchaArturo Molina

Research Center:Innovation Center in Design and Technology

Research Chair:Rapid product realization for developing markets using Emerging Technologies

Presenter
Presentation Notes
Research Areas: Emerging Technologies Internet Architectures Web Applications
Page 2: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Agenda

SaaS conceptsImpact over methodologiesPaper ProposalConclusionWork in Progress

Page 3: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS

SaaS is the delivery of software applications over a hosted platform accessed through the Internet using a web browser and typically priced on a pay-as-you-go basis.

Page 4: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Business Facts

By 2010, 20% of companies deploying e-commerce will use a SaaS delivery model.By 2010, 15% of large companies will have started projects to replace their ERP backbone (financials, human capital management and procurement) with SaaS-based solutions.By 2011, 25% of new business software will be delivered as software as a service.By 2012, business process management suites (BPMSs) will be embedded in at least 40% of all new SaaS offerings.By 2012, more than 66% of independent software vendors (ISVs) will offer some of their applications optionally or exclusively as SaaS.IDC reports that it expects customer spend on SaaS to increase to $14.8 billion by 2011.Two out of three businesses are either buying or considering buying software via the subscription model.McKinsey reports that the proportion of CIOs considering adoption of SaaS applications in the coming year has gone from 38% a year to 61%.

Presenter
Presentation Notes
Predicts 2007: Software as a Service Provides a Viable Delivery Model. © 2006 Gartner, Inc 1 Erin TenWolde, Research Analyst, IDC. August 2007. 2 “Businesses Get Serious About Software-as-a-Service.” InformationWeek Research. Reported in InformationWeek, April 14, 2007. 3 Abhijit Dubey. McKinsey. Panel at the SIIA OnDemand Summit. San Jose. November 8, 2006.
Page 5: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS Platform

Multitenant. Architecture should support for multiple tenant client.Single version. Applications offered as services are shared for all clientsLogical data separation. Each application has a domain data but in the same scheme. Multi-supplier. Multiple SaaS vendors can deploy their application.Domain container. Conceptual form to evolve applications’ supplier within the platform. The proposal is a customizable portal as access point.Application integration. Application should be able to communicate with each other.

Page 6: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS Applications

Delivered over InternetDeveloped and deployed over platformsSupported by business services of the hosting platform.In the strict sense, they only have business logic and User Interface.

Supply Chain (ITESM)e-Marketing ( Ensitech.com )iAdmin (Processway.com.mx)

Page 7: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Impact on Software Development

Software Construction

Software Specification

Software Development

Software Selling

Software Usage

Software Maintenance

- Requirements gathering from business model- Application design

- Develop, test and verifies a SaaS delivered application

- Platform provides API’s and tools

- SLA and operational parameters- Verify compliancy to platform policies- Install application over platform

- Customers discover the application- Customer learns about application- Customer tries and buys the application service- Aggregator bundles application with others

- Customer uses the application- Application customization- Platform monitors and manages the application- Platform reports and escalates incidents

- Application upgrade- Application patches

Presenter
Presentation Notes
Stage As a good As a Service Software Specification & Design Specification documents play a key role. The specification is not influenced by the vendor business model. Software designers only concerns about the software specification. Prototyping can be easily used because the ability to make early deliveries of the application. Requirements are defined by a target market. The software design is deeply influenced by the Service platform Software building The implementation is slightly influenced by libraries or frameworks. Developers relay mainly in programming languages, libraries and frameworks. External components are optional. System architecture is directly affected by the platform. Developers are required to be familiar with the Platform API. Shared components such as authentication, logging and user management are provided by the hosting platform. Software deployment One application deployment per client. Commonly the deployment is a custom process depending on the environment.   Only one deployment per service provider. Streamlined standardized deployment process. Software commercialization The software delivered as a good doesn’t participate in the commercialization process. The software might by itself or by the platform provide means for supporting the vendor business model. Software usage Local installations or access through LANs or WANs Access through the Internet mainly causes concerns and extra efforts because bandwidth utilization and user experience. Software maintenance Application upgrade and patching by client user Application upgrade and patching as well as Platform upgrade and patching must be performed by the vendor, application shutdowns may affect the full client base
Page 8: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS Requirements and Analysis

RequirementsDefinition of business plan requirements. Business plan that will require information from the application or platform must be identified.

Analysis of intended market. Outline and catalog the core needs of the target market. The product manager must assess the customer needs and focus in delivering the most value with the existing resources, a categorization of the application features could be used.

Definition of application features. Outline the main characteristics of the application service. These characteristics must be completely driven by the market and not by the software vendor.

AnalysisBusiness process analysis. Complex software cannot be based on people; it must be based on processes and automation

Develop use cases. Common use case documenting and modeling.

Page 9: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS Design

Technology researchTechnology assessmentService Oriented ArchitectureBusiness process engineeringCommon design documentationDesign test casesTechnology prototypes

Page 10: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS Implementation

Development of business servicesIntegration of platform servicesDevelopment of application logicDevelopment of application front-endDevelopment of application integrationTechnology implementation

Page 11: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

SaaS Testing

Unit test casesIntegration test casesPerformance test casesTenant metering test casesTechnology approval

Page 12: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Results

Common(PyME Creativa)

Proposal(E-Marketing)

Work In Progress(iAdmin)

Requirements accomplishment

Good Very Good ?

Platform Support Poor Medium ?

Project Management

Poor Medium ?

Maintenance Difficult Good ?

LOC ~30,000 ~10,000 ?

Bugs on Production

~120 ~50 ?

Business planaccomplishment

Poor Good ?

Page 13: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Conclusions

New service delivery platforms will become an important channel for software distribution in the near future.

The differences between developing software to be delivered as a good and to be delivered as a service are evident.

Considerations for every phase of the development of software to be delivered as a service.

Page 14: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Work in progress

Presenter
Presentation Notes
Future Work: Agile Methods
Page 15: Application Development over Software-as-a-Service platforms

ICSEA 08 Application Development over Software-as-a-Service platforms

Thank you !!

Questions?

Javier Mijail [email protected]