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.
Application Development over Software-as-a-Service platforms
1. 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
2. ICSEA 08 Application Development over Software-as-a-Service platforms
Agenda
„
SaaS concepts
„
Impact over methodologies
„
Paper Proposal
„
Conclusion
„
Work in Progress
3. 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.
4. 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 billionby 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%.
5. 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 clients
„
Logical 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.
6. ICSEA 08 Application Development over Software-as-a-Service platforms
SaaS Applications
„
Delivered over Internet
„
Developed and deployed over platforms
„
Supported 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)
7. 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
8. ICSEA 08 Application Development over Software-as-a-Service platforms
SaaS Requirements and Analysis
„
Requirements
…
Definition 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.
„
Analysis
…
Business 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.
9. ICSEA 08 Application Development over Software-as-a-Service platforms
SaaS Design
„
Technology research
„
Technology assessment
„
Service Oriented Architecture
„
Business process engineering
„
Common design documentation
„
Design test cases
„
Technology prototypes
10. ICSEA 08 Application Development over Software-as-a-Service platforms
SaaS Implementation
„
Development of business services
„
Integration of platform services
„
Development of application logic
„
Development of application front-end
„
Development of application integration
„
Technology implementation
11. ICSEA 08 Application Development over Software-as-a-Service platforms
SaaS Testing
„
Unit test cases
„
Integration test cases
„
Performance test cases
„
Tenant metering test cases
„
Technology approval
12. 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
?
PlatformSupport
Poor
Medium
?
Project Management
Poor
Medium
?
Maintenance
Difficult
Good
?
LOC
~30,000
~10,000
?
Bugson Production
~120
~50
?
Business planaccomplishment
Poor
Good
?
13. 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.
14. ICSEA 08 Application Development over Software-as-a-Service platforms
Work in progress
15. ICSEA 08 Application Development over Software-as-a-Service platforms
Thank you !!
Questions?
„
Javier Mijail Espadas
…
mijail.espadas@itesm.mx