BPM, Workflow, Rules
BPM is a model-driven approach to building software and BPM vendors have jumped into the PaaS market with their product suites. Both the enterprise suite and PaaS users have access to libraries with pre-built forms and process templates. Other PaaS solutions are rule-driven, creating a new application by defining and storing its rules.
Appian Anywhere is a new PaaS edition of the Appian Enterprise BPM suite. It supports the development of reusable functional components that encapsulate rules and web services interfaces. The multi-tenant edition hosted on Amazon EC2 and the premium edition support encrypted communications and SAML for authentication. The Appian eFORUM includes forms libraries and pre-built application and process templates for HR, purchasing, government procurement, financial compliance, and more.
Pegasystems SmartPaaS is hosted at Amazon EC2 and offers a 99.95% service-level agreement (SLA). The Pega AMIs work with Oracle and DB2 databases, Linux or Windows, Tomcat or WebSphere application servers. SmartPaaS includes solutions for CRM, CRM for Insurance and CRM for healthcare. The SmartPaaS healthcare solution, for example, includes applications for core functions such as claims, customer services, acquisition and retention.
Magic Software has been an application development tool vendor for more than twenty years so it is no surprise it has a feature-rich, rule-driven PaaS. Magic uniPaaS includes a business rules repository and a metadata-driven rules engine. It integrates with .NET, Java, COBOL and RPG programs by using remote procedure calls and web services. Magic uniPaaS transparently manages connections to heterogeneous databases and it stores complete application descriptions in an XML-encoded repository. The repository on a uniPaaS server includes forms, metadata, business rules, application logic, dialogs and report definitions.
Many .NET, Java, and Linux developers have developed expertise and code libraries they would like to apply to PaaS projects. The same is true of developers using PHP, Perl, Python and Ruby on Rails and Web 2.0 technology. One advantage of Java or .NET is application portability and avoiding vendor lock-in. Portability is a consideration for migration of enterprise applications to the cloud or using the cloud as the development environment for creating enterprise applications. Cloud nirvana will be attained when we can seamlessly move applications between the enterprise data center and the cloud. Until that's commonplace, we should look to shared repositories and being able to import models, application objects and classes when building a cloud application.
Java developers can build software the public or private cloud using familiar APIs and tools. Some PaaS solutions support the Spring framework, Grails, Hibernate, and Java Enterprise Edition (Java EE) APIs. There are various capabilities found with Java EE that are well-suited to the cloud. Deployed Java EE components are portable across application servers running J2EE 1.4 and newer versions. The standard archive formats (EAR, EJB-JAR, WAR) permit deployment across different servers without change. Other cloud-friendly features include Jini, Java Management Extensions (JMX), JConsole monitoring, application servers that support failover and EJB containers that are loadable on demand. Issues of elasticity and location independence can be addressed with frameworks from GigaSpaces and GridGain.
Java developers building applications or services for cloud development can choose from several PaaS platforms, including GigaSpaces XAP, Google AppEngine, GridGain Open Cloud Platform, Stax and VMWare Cloud Foundry. Stax Networks provides a web container hosted on Amazon EC2 that enables you to move existing Java applications to the cloud. The Stax platform supports Struts, Wicket, Spring, Hibernate, GWT, and Adobe Flex. VMWare acquired SpringSource and Cloud Foundry to move into the PaaS space. SpringSource Cloud Foundry assists the deployment and management of Grails, Spring and Java applications.
Google AppEngine is a platform for creating web applications for the Google cloud using Python, Java or other languages that use a JVM-based interpreter. AppEngine includes task queues, an integrated data store, an Eclipse plug-in, system status dashboard, Google Web Toolkit, Java Servlet environment and sandbox security. The Python environment provides APIs for memcached, image and mail services
GigaSpaces XAP is a platform that provides the flexibility to take enterprise applications and deploy them in the cloud, or use the cloud to develop enterprise applications. Financial institutions had deployed XAP for trading systems and GigaSpaces offers the XAP Cloud Platform on Amazon EC2. It uses a tuplespaces variant to support high throughput for processing transactions, while supporting Spring, Hibernate and JDBC access to SQL databases. Developers can also use it with Jetty, Glassfish and MySQL. GridGain established its reputation with a Java platform for the computational grid that can exploit parallel processing, such as Hadoop MapReduce jobs. GridGain Open Cloud Platform enables developers to deploy grid applications in a cloud infrastructure. It's an open source platform, with a service provider interface architecture, that's available on Amazon EC2. It uses IP multicast discovery, JMS communications and peer-to-peer class loading to provide a virtual environment in the cloud.