Careers | Blog | Sitemap  
   
   
  Wanna try working with us?  
  email: info@hibiscustech.com  
     
 

Archive for August, 2010

Platforms for developing SaaS applications – A Comparison

Monday, August 23rd, 2010

Force.com

Two huge benefits start to come into focus when you look across Force.com platform apps in general: they’re both data-centric and collaborative.

Data-Centric Apps

Because the platform is centered on a database, it allows you to write apps that are data-centric. A data-centric app is an application that is based on structured, consistent information such as you might find in a database or an XML file. We can find these data-centric apps everywhere, in small desktop databases like Microsoft Access or FileMaker, all the way to the huge systems running on database management systems like Oracle or MySQL. Unlike applications that are built around unstructured data, like plain text documents or HTML files, data-centric apps make it easy to control, access, and manage data.

For example, consider an exercise such as trying to determine the total sales for a month from a set of Microsoft Word-based contracts versus a set of contracts in a simple database. Whereas it takes a lot of effort to open each Word document, find the contract total, and then add them all together, if this data is stored in the database of a data-centric app, we can more efficiently get the same result by issuing a single query. While most people don’t need a data-centric application to keep track of anything other than contacts, photos, or possibly music, companies of all sizes constantly need to query and aggregate their large amounts of data to make fast business decisions. As a result, the data-centric nature of the Force.com platform makes it the perfect platform to build and host business applications.

Collaborative Apps

Because the platform can be accessed by multiple users at the same time, it also allows you to write apps that are collaborative. A collaborative app is an application with data and services that are shared by multiple users in different locations. Unlike more traditional forms of software that are installed on a single machine and are hard to access from a distance, collaborative apps on the platform can be accessed from anywhere in the world with only a Web browser. This makes it easy for teams to work together on activities like selling a product, managing a project, or hiring an employee.

In addition to easy access over a Web browser, a number of built-in platform features also facilitate productive group collaboration:

· The platform’s security and sharing model allows you to finely control a user’s access to different data

· Workflow rules allow you to automatically assign tasks, update data, or send email alerts when certain business events occur, such as the creation of a new record or a change in the value of a record field

· Approval processes allow you to set up a sequence of steps necessary for a record to be approved, including who must approve it at each step

Collectively, these features provide a framework for sharing apps across groups, divisions, and entire corporations without relinquishing administrative control over sensitive data.

The Technologies Behind a Force.com

Technology

Description

Multitenant architecture

An application model in which all users and apps share a single, common infrastructure and code base

Metadata-driven development model

An app development model that allows apps to be defined as declarative “blueprints”, with no code required. Data models, objects, forms, workflows, and more are defined by metadata.

Force.com Web Services API

An application programming interface that defines a Web service that provides direct access to all data stored in the Force.com platform from virtually any programming language and platform.

Apex

The world’s first on-demand programming language, which runs in the cloud on the Force.com platform servers.

Visualforce

A framework for creating feature-rich user interface for apps in the cloud.

Force.com sites

Public websites and applications that are directly integrated with your Salesforce.com organization – without requiring users to log in with a username and password.

AppExchange directory

A web directory where hundreds of Force.com apps are available to Salesforce.com customers to review, demo, common upon, and/or install. Developers can submit their apps for listing on the AppExchange directory if they want to share them with the community.

Microsoft Windows Azure Platform

One of the main functions of Microsoft Azure is to provide platform for Software as a Service (SaaS) applications and with increasing customer demand, IT Solution Providers are turning to SaaS versions of their products. The creation of an efficient SaaS application requires the support of an efficient cloud- based service that can be used simultaneously by various customer organizations. Azure performs its role creditably in this aspect.

· Cloud computing is versatile, wherein it can be an add-on service to existing on-premises application. This method is comparatively cheaper and increases operational functionality of the existing system.

· Azure definitely provides ease of use and administration with a minimal up-front commitment and ability to increase or decrease computing resources used by the client applications. This ensures availability of better technology with lower costs.

Technology:

Windows Azure consists of 3 main parts

1. A compute service, which runs applications

2. A storage service, which stores data

3. A fabric, which supports the compute and storage services

In order to use the compute service, a developer creates an application using combinations like C#/VB and .NET framework and is later implemented as Web roles, worker roles or both. Web roles accept web requests and are created using a technology like ASP.net which works with Internet Information Services (IIS).

Irrespective of technology, Azure provides built-in hardware load balancing across all Web role instances in a particular application. Worker role instances are for functions that doesn’t respond directly to web requests and is just a Windows application with a main (), running indefinitely. This model allows creating scalable applications where Web role instances accept requests, then pass them to Worker role instances to be processed.

It is to be noted that each instance irrespective of Web or Worker roles runs on its own Virtual Machine (VM). This provides for isolation and clear knowledge of application performance as there is a definite mapping between VMs and processor cores. The developer simply uploads an application to Windows Azure with an XML configuration file specifying the number of instances that need to be run. Subsequently, it is Windows Azure and not the developer who creates the required number of VMs and monitors their execution. In the event of failure of an instance, Azure will start a new one ensuring that the specified numbers of role instances are always running. This work is done by the Fabric Controller software that’s in charge of all machines in a particular instance of the Fabric. When an application owner increases or decreases the value of instances in the configuration, Azure automatically creates or shuts down VMs to match the new setting.

Being Windows apps, developers could provide templates for creating cloud applications as Web roles, Worker roles or both using Visual Studio IDE. The developers can also use Development Fabric, which is a part of Azure and run on the local machine, to create the code and do testing, before uploading the application onto Windows Azure.

Azure provides its own mechanisms for storage and retrieval of data. The 3 available storage options can be accessed via standard HTTP GETs, PUTs, and DELETEs.

The three kinds of Windows Azure storage are:

1. Blobs: This allows storage of large binary objects, such as videos and images.

2. Tables: provides for storage of highly scalable entities (not relational tables).

3. Queues: allows sending and receiving of messages, such as between an application’s Web role instances and Worker role instances.

It has to be noted that all these storages can be accessed by applications that are not on Azure Compute Service. On-premises or hosted applications can also store and access data like large video files, as Azure storage blobs.

The Windows Azure platform also contains SQL Azure Database (earlier known as SQL Data Services), which provides standard relational storage based on SQL server technology.

EC2 for SaaS

iWay Software’s robust, enterprise-scale integration solutions are available on demand. With iWay SaaS on Amazon Elastic Cloud Computing (EC2), organizations can more conveniently and economically leverage powerful, cutting-edge integration technologies – without the need to install them on-site or devote IT resources to ongoing maintenance.

Fast Deployment with Minimal Administration

iWay’s SaaS-based solutions will be pre-installed and pre-configured as Amazon Images (AMIs) and fully hosted by Amazon, where they can then be made immediately available to subscribers. Clients simply select the desired operating system (Windows or Linux), choose the tools and components they wish to use, and indicate their virtual hardware preferences, such as CPU, memory configuration, and storage sizes.

Unparalleled Security

iWay SaaS on Amazon EC2 offers end-to-end integration in a highly secure environment. The iWay RVI Secure Proxy Service – using the secure AS2 protocol – allows for fully protected robust and secure connections between Amazon EC2 instances of iWay solutions and all internal corporate back-end applications and systems – such as SAP or DB2. All integration activities are processed and executed across well-regulated channels, which utilize proxy gateways, firewalls, virtual private networks (VPNs), and other proven techniques to preserve the integrity of client data at all times.

A Flexible and Scalable Deployment Model

On-demand solutions from iWay Software are not just powerful and economical; they’re also flexible and scalable. All instances of iWay Software have already been installed and tested, so clients can begin using new tools and components, cancel services they have already subscribed to, or add new users to their environment at any time.

iWay SaaS supports various integration models, to allow for:

· Secure connections to internal applications, systems, and databases within the corporate firewall

· Access to Internet-based Web servers and databases

· Integration with other SaaS-based solutions such as Salesforce.com

Additionally, iWay SaaS for Amazon EC2 solutions are fully customizable, and can be quickly and easily configured by iWay consultants to address unique or specific client requirements. As demand increases, additional instances may be brought online in a very short amount of time.

Convenient Any Time, Anywhere Access

Our SaaS-based tools can be easily deployed as Web-based applications. This provides users with access at any time, from any Internet-enabled location around the globe. Leverage the integrated services from any enabled device regardless of location.

Maximum Affordability

Unlike on-site integration solutions, which impose licensing fees for each user no matter how infrequently they use them, iWay’s SaaS-based tools offer a budget-friendly fee structure based solely on hourly system usage.

WebFOCUS Business Intelligence Integration

Advanced reporting features using Information Builders’ WebFOCUS business intelligence (BI) platform are readily available via the iWay SaaS solution. Leverage the capabilities of BI and integration with the simplicity of a cloud solution.

Wipro w-SaaS platform

Wipro has built w-SaaS, a platform for rapid SaaS enablement and deployment on cloud, using some of the commonly accepted trends in software engineering and open standards. The w-SaaS platform comprises of the following components:

· SOA-based services framework for SaaS enablement

· A Cloud Provisioning Fabric (CPF) to enable seamless portability between different clouds

· Unified Admin Console for platform services management, cloud management and tenant provisioning

Oracle offers a comprehensive, open and integrated set of technologies to build, deploy and manage applications to ISVs. It is also the platform of choice for SaaS deployments with eight out of ten leading SaaS vendors delivering business critical applications on Oracle.

The w-SaaS platform offers the following features:

Non-intrusive SaaS enablement

The SOA based framework services are available outof-the-box for SaaS features like multi-tenancy, usage metering, billing, user management etc. These services can be consumed by the application in a non-intrusive way to operate in the SaaS model.

Seamless Cloud Deployment

The CPF provides features to create deployable images of the application and deploy them on a cloud infrastructure. The images created can be converted from one format to another thus allowing portability between different underlying clouds. The CPF also provides ability to provision hardware nodes into the cloud and to dynamically provision virtual machines on these hardware nodes.

Easy Platform Administration

The unified admin console provides the ability to administer and manage both the cloud platform and the SaaS applications. This also gives a unified look-and-feel for cloud management regardless of the underlying cloud.

Wolf

WOLF is a browser based On Demand Platform-as-a-Service (PaaS) for rapidly designing and delivering database driven multi-tenant Software-as-a-Service (SaaS) applications. WOLF is a Cloud Computing platform architected to help you design, deliver and use Software as a Service (SaaS) applications using only a web browser.

SaaS applications developed on the platform are endowed with a single instance multi-tenant architecture. They are instantly integrated into an automated provisioning system which handles the allocation of network resources, database creation and account information. The robust User-Role management system makes it easy to create users & roles and assign rights to various modules of your application.

WOLF Environments

Browser-based 128-bit encrypted secure Designer and RunTime environments.

Technology

WOLF Platform-as-a-Service (PaaS) uses the power of the following technologies: AJAX, XML, C# Engine, IIS and Microsoft .NET environment and supports Microsoft SQL Server and MySQL database.

OnDemand Infrastructure

Hosted & managed by i-web, a recognized leader in high-end secured hosting with more than 12,500 customers spread across 130 countries. WOLF also offers application licenses for private server deployment of your own choice.

Forms

  • Point and click interface to quickly create forms
  • Organize form layout into tabs, sections and multiple columns
  • Add sub tables(Master/Details section) in forms
  • Master/Details section with grids for inline editing
  • Custom edit screens to present data in multiple formats
  • Custom “action” buttons can be added to a form
  • Auto-validated field types for text, date, numbers, checkboxes and more.
  • Custom validations on fields like read only, mandatory, etc.
  • Auto-generated alphanumeric data type
  • Conditional styles can be applied to form fields
  • Support for image maps
  • Multiple file and image upload, download and display
  • Configurable dynamic, linked drop downs
  • Ready-made system drops downs for countries, users, etc.
  • Integrate with external web pages and third party widgets
  • Keyboard shortcuts
  • Instant preview
  • Printable forms

Search

  • Data mining tools like Search, Sort and Filter based on custom criteria
  • Role/User level permissions for add, edit and delete actions
  • Grids for inline editing of data
  • Set automatic criteria for filtering data
  • Link Search to custom forms
  • Quick view of records
  • Custom actions to export to Excel and CSV
  • Selective exporting of data

Business Logic

  • English language like Business Rules
  • Define workflow & business logic without writing procedural code
  • Ready to use actions for standard programming constructs such as if-then, for-each, etc.
  • Invoke rules on save of records or for validation and calculation
  • Business logic can be added to standard or custom actions
  • Multi Level master detail relationships- 1:M, M:1, M:M
  • Relationships are handled without having to specify keys
  • Multi-level grouping supported
  • Nesting of business rules and actions
  • Invoke different rule sets for a decision management process
  • View reference of the rules written around data elements
  • Automatic emails for notification and acknowledgement
  • Auto user simulation

Display Modes

  • Forms
  • Search Screens
  • Reports
  • Charts
  • Dashboards
  • Custom HTML pages
  • External web pages

Reports & Charts

  • Graphic charts (line, bar, pie, etc.)
  • Multiple report formats such as drill downs, advanced search screens, etc.
  • Reports and charts can include data from multiple related tables
  • Criteria for filtering reports and charts
  • Automatic summary functions such as subtotalling, average, etc.
  • Drill downs for multi-level data report
  • Configurable user dashboards
  • Ready actions for exporting data to Excel and Word
  • Ready actions for printing of reports and charts
  • Schedulable reports via email
  • Custom HTML reports
  • Custom styling of reports using HTML and CSS
  • Color coding

Integration

  • Embed forms, reports and charts in your website, forums, blogs or any other user interface
  • Ready Business Rule actions to call a GET, POST or SOAP request
  • Ability to communicate with OnPremise as well as cloud based applications
  • Data can be imported from RSS feeds
  • Ready SMTP integration
  • Ready integration with PayPal
  • Ready gateway service to send text messages

Customization

  • Complete custom branding and white labelling of applications
  • Template personalization
  • Application styling and skinning
  • Position company logo, footer, copyright & attach a ‘Terms of use’ document
  • Customize access URL

Security

  • Hosted in a 100 percent uptime guaranteed, load balanced– SAS 70 data center
  • Accessible over 128-bit encrypted secured SSL connection
  • User name and password for authentication
  • Access restriction by IP address and range
  • Record level information about date created/last modified and user who created/last modified
  • Transaction history / audit trail
  • SSO

Scheduling

  • Automate tasks, reminders, emails, etc.
  • Call scheduled actions linked to Business Rules

Administration

  • Robust security management module to create & manage folders (tenants), roles and users
  • Assign control over different views, changes and data additions
  • Permissions at table/entity level, navigation level (screens, charts, reports, dashboards etc.) and field level

Minimized Lock-in

  • Single click data backup in RDBMS format
  • Single click design backup for business design in a portable XML format
  • Hybrid hosting options: Private server or WOLF Cloud.

Building Mobile Website

Monday, August 23rd, 2010

There exists a wide range of mobile device user agents (browsers), each rendering markup in different ways. The choice to use WML, XHTML Mobile Profile, XHTML Basic, or cHTML can be an overwhelming decision, to say the least.

All mobile web development strategy must begin with an understanding of the target audience and what they want from a site or app, and what the contextual relevance of such a site or app is, what is relevant to the users and the tasks, the problems, and the needs, the users may encounter while being mobile?

WAP 2.0: An XHTML Environment

WAP 2.0, XHTML Mobile Profile (XHTML-MP) is generally the preferred mark-up language, with mandated backward compatibility for WML.

Nearly, all devices today are WAP 2.0 devices with XHTML Mobile Profile, which will be familiar to anyone who has worked with XHTML Transitional or Strict is the official mark-up language for such devices.

Finally, because XHTML-MP is a subset of XHTML, initial testing and validation are done within most desktop browsers. Thorough, final testing will certainly need to be conducted using actual devices, but one may test on the desktop initially to see if the mark-up renders correctly and semantically.


Design Strategy

Opt for web standards and a flexible layout and then with the reference design and adaptation rules in place, the final strategy builds flexibility into the mark-up through the use of generic, standards based XHTML and CSS. In practice, this means creating mark-up that uses the tags and structures inherent in HTML (i.e. headers, paragraphs, lists and divs) to define the structure of the page. The immediate benefit—any browser that can read HTML will be able to display your content and will assign it with (albeit rudimentary) visual style. Given the vast number of mobile devices, this benefit cannot be underestimated as it ensures your content will be accessible to a large number of users without too much higgery-jiggery on the part of developers. One will then be in a great position to progressively enhance the design for different device groupings through the use of browser and/or device-specific CSS, graphics and scripting.

The BBC web site is an ideal example as it shows how simple it can be to combine clean mark-up with well conceived styles and strategic editorial decisions to achieve a great experience on a wide range of devices. Ultimately, the design, adaptation and editorial choices will be based on many factors including the budget, target audience and the functionality of the mobile web site. In the end, it’s all about striking a balance between the creation of a well optimized, fast-loading site and the delivery of great, targeted content to the users.


Development Strategy

A mobile-optimized site addresses first how content is accessed and second what it looks like. In other words, it means context before aesthetics, function before form. Pages are leaner, which means users are spared excessive bandwidth costs and generally enjoy a faster browsing experience.

The development follows the W3C’s Mobile Web Best Practices 1.0 document.

ASP.NET version of HAWHAW can be used in creating such mobile website.


Testing Strategy

There are almost 30+ different mobile browsers and many more. With these kinds of numbers, it is highly impossible to test the Web site across all devices? What can be done is test the site on at least one device from all popular manufacturers, and on as many of the mobile browsers as possible. This will give a good idea of how the site works on different devices and will also help in resolving issues. The catch is in making sure that there is access to all of the necessary devices and mobile browsers. Testing is usually possible in one or two physical devices – not enough to adequately test on but emulators can be used instead to simulate testing on the real device or browser. The benefits of this approach are many-fold:

· No data browsing charges are incurred, as all browsing is performed via your standard Web connection

· Quicker access to devices – starting an emulator is faster than switching sim cards and rebooting devices

· Provides access to a potentially large number of devices/browsers – the number of devices is only limited by hard disk space and the number of emulators that can be found

· Inexpensive – many emulators are available for free

Fortunately, Mozilla Firefox supports some great extensions that can make testing of mobile sites a piece of cake. Firefox is probably the best browser out there for mobile Web site testing. To make Firefox imitate a mobile device, the following are required:

· The Firefox Web browser (obviously)

· The Modify Headers add-on

· The User Agent Switcher add-on

· At least one mobile device user agent

· A UA Profile HTTP Header

After the add-ons have been installed, Firefox is ready for mobile site testing.


Mobile websites can be developed for the following devices:

Apple (iPhone)

Blackberry

BlackBerry® World Edition™

BlackBerry® Tour™

BlackBerry® Storm™

BlackBerry® Pearl™

BlackBerry® Curve™

BlackBerry® Bold™

BlackBerry® 88(00,20,30)

Palm

Palm Pixi

Palm Pixi Plus

Palm Pre

Palm Pre Plus

Android

Nexus One

Passion / Bravo

GW880

Xperia X10a

Eve / GW620

Eris / Desire

One

Streak

Calgary / Motus

Liquid / A1

Moment

Behold II

DROID / Milestone

Archos Phone

CLIQ / DEXT

O1

Spica / Galaxy Lite / i5700

Pulse

Mini 3i

Sprint Hero

Tattoo

Hero

Galaxy / i7500

Magic / myTouch 3G

Dream / G1

Samsung

Android Phones

Windows Phones(z105)

Nokia

All N Series

LG

Android Phones

Motorola

V3i

Sony Ericsson

K750i

Mobile websites will have to be compatible across the following mobile browsers:

·Blazer ·Bolt browser ·Deepfish ·Firefox for mobile ·IbisBrowser ·Internet Explorer Mobile ·Iris Browser ·JOCA ·Konqueror Embedded ·MicroB ·Minimo ·NetFront ·Obigo Browser ·Opera Mobile ·Pixo ·S60 web browser ·Safari ·Skyfire ·Steel ·Teashark ·ThunderHawk ·UCWEB ·uZard Web ·WinWAP


  Home | About Us | Products | Portfolio | Work with us | Careers | Blog | Sitemap