Some of you may have read my recent blog posting on Progress OpenEdge version 11; the company's 4GL application development environment. I was very interested to know more as I am a firm believer in the need of ERP applications to embrace BPM as a means to assist in making the ERP solutions more agile and flexible to meet the current business requirements. Of course there is also a need to make these applications more mobile as well move to a service-based architecture so reduce costs. So I was interested to see what Progress were delivering to their business partners with this new release.
Progress has positioned OpenEdge as "The complete development platform to rapidly build business process-enabled applications for secure, reliable deployment across any platform, any mobile device, and any Cloud." They have been very successful creating over 1500 Progress business partners who have built over 5000 applications in 150 countries with the platform. These ASPs and ISVs use Progress Software's products to build and deliver packaged software applications. These applications are currently under active development and generate more than $5 billion annually. Progress Software applications are used by more than 2 million people worldwide, second only to SAP. So we are dealing with a major ERP infrastructure.
For those of you not familiar with OpenEdge, you will want to understand what the components are in the product architecture, so I will provide just a short piece to whet your appetite. For those of you who already know the product please skip to next section.
OpenEdge platform was first announced by Progress in 2001. It is built on two core components: the Progress RDBMS and DataServers and the Progress AppServer. The DataServers provide developers with an alternative to Progress's own database, giving access through ODBC to other DBMS products such as Oracle. Microsoft SQL Server or IBM DB2/400. Figure 1 shows the major software components in the architecture.
Figure 1: OpenEdge V11 Architecture (Source: Process Software)
Other parts of the platform include:
- OpenEdge Studio automates much of the work in creating user interfaces and business components with visual tools included in the AppBuilder. The AppBuilder is a central workbench providing visual tools for defining objects, laying out interfaces, and linking data.
- WebSpeed Workshop is an integrated suite of development tools for building ITP (Internet Transaction Processing) applications that run on the WebSpeed Transaction Server component of the OpenEdge Application Server.
- Roundtable TSMS delivers integrated Software Configuration Management (SCM) to Progress OpenEdge development. Roundtable provides a complete solution that integrates task management, version control, impact analysis, smart compilation, release control, and schema management.
- OpenEdge Translation Manager and Visual Translator provides tools for preparing and delivering files, translating the application objects themselves, and integrating the applications back into the original source code to support multilingual application.
What drives Progress Software's strategy and product decisions? Progress told me that they listen closely to their customers and partners, while looking into and researching the market and industry trends. Current trends are that businesses need to change rapidly to take advantage of emerging business models (like SaaS) to integrate applications and functionality, both within the four walls of the enterprise and within the extended enterprise of suppliers, partners, and customers.
In its SaaS technology delivery, Progress Software has identified the following seven key success factors:
- Multi-tenancy: the ease of going from 1 to N on-demand customers (tenants).
- Information security and compliance: ensuring that data and applications are accessed only by those who need to know.
- UI flexibility: being able to easily use the UI technologies that meet the needs of the customer.
Figure 2: OpenEdge UI Strategy (Source: Progress Software)
- Personalization: ensuring that the application looks exactly as the tenant and end-user want.
- Integration: the ability to easily integrate with any other application by supporting all relevant standards
- Operational excellence: being always available with the ability to scale to any size.
- Productivity: a highly productive environment focused on a versatile platform and industry best practices.
Another key to Progress' strategy is their channel activity with partners and their focus on solution selling. The market in 2011 effected Progress's financial results for the 3rd quarter in September last year, when Richard D. Reidy, president and chief executive officer of Progress Software, said: "With our focus on solution selling, delays in closing larger deals have a material impact on our quarterly results. Total revenue grew in the Application Development Platforms (ADP) segment due to continued strong performance in our application partner and OEM channels. "
Role of Partners
The Progress Software Partner Program provides support to their partners, ensuring that they are fully trained and certified on Progress Software's solutions in order to meet the requirements of customers. The program provides materials to enable partners to market, sell, implement, and support Progress solutions. These materials are made available through the Progress partner portal, Web-based training, as well as custom instructor-led training. There is a history of working together on joint sales opportunities.
So Partners play an important role in Progress's revenue stream. The OpenEdge Platform provides partners with a versatile development environment to develop applications solutions both quickly and to quality.
The requirement from business organisations is for flexible and agile solutions that can be delivered quickly. Organisations are looking to reduce their total cost of ownership (TCO) by driving down the cost of deliver and deployment of applications with in addition a reduction in the cost of customization. However it is not just TCO that is being looked for but also a reduction in time-to-market (TTM) so as to be more responsive to changes in user and market needs; this requires faster application deployment. Progress stated at a recent partner conference that, "Where business applications are responsive to changing business conditions and customer interactions - the moment they occur there is an increase in revenue, profit is maximised and losses are minimised,"
Over time what has happened in application development is a process to simplify the writing to enable maintenance to be able to be performed more quickly. Firstly we saw the introduction of DBMS technology to "simplify "the way we retrieved and maintained data. The next move, which started in the 80's but really got going through the late 90's and 2000's was to remove the business process from the code through the use of BPMS technology. In conjunction with this has come the need to remove the UI code as the proliferation of different devices has expanded and so was born the concepts of "portals", which also introduced the first aspects of personalisation of applications to how business users actually worked. Another development has been to look at removing the business rules that carry the decisions that need to be automated through the use of BRMS technology (If the reader wants to know more about BPMS and BRMS please look at the Market Reviews produced by Bloor over the last years.) During the last 20 years we have also seen the acceptance of organisations basing their IT strategy around a service-oriented architecture (SOA)
So what developers of applications need now is a common toolset that will allow them to exploit all of these developments from a single entry point. The toolset also therefore has to exploit more standards - although most of them are based on XML!
Progress Software's Response
Progress has stated that, "Regardless of the size or industry, BPM is at the core of every responsive business and modern IT infrastructure." They see BPM as providing the following:
- Visibility - through the use of graphical modelling tools business processes can be captured in a way that all business users can "see" how the business operates;
- Agility - As the processes are modelled, not coded, changes to requirements can be made faster than with traditional applications;
- Improved Processes - Processes can be automatically monitored to identify areas for improvement
- Leverage Existing Investment - Avoiding "rip and replace" projects by modernizing existing business applications to take advantage of workflow and new BPM capabilities.
The strategy for OpenEdge was summarised by Matt Cicciari, Progress Software's Product Marketing Manager for OpenEdge, as based around 4 precepts:
- Business Process Management (BPM) to provide a business user with the ability to assimilate the business process based on assumptions as to the frequency of the process execution and resources required to execute different steps of the process, and it will also automatically generate comprehensive documentation of the process.
- Cloud deployment to provide a way of better servicing business' requirements by providing applications as a service that leverage elasticity thus reducing the TCO and TTM.
- Simplifying development and deployment to cater for move towards a personal computing environment where business users are increasingly mobile and using devices of their choice to access business applications.
- Patent -pending multi-tenancy built directly into the database to physically separate sensitive data and support growth for SaaS business models, especially in the Cloud.
At the beginning of 2010, Progress acquired Savvion. I wrote an article on this (BPMS Market consolidation continues: Progress buys Savvion). Richard D. Reidy, president and chief executive officer, Progress Software said at the time: "We believe that achieving operational responsiveness has become a business imperative, enabling business to achieve the highest level of operational performance. Our acquisition of Savvion enhances our goal to provide unprecedented business visibility, responsiveness and business process improvement, coupled with the highest degree of data integrity and integration."
With the announcement of OpenEdge v11, Progress has started the process of merging seamlessly the Savvion BPMS platform with the OpenEdge Development platform. What does this mean? Well when v11 goes to general release at the end of this year, the OpenEdge and Savvion development environments will be merged to be one seamless toolset. Thus allowing an application developer to model and define the business process and link the process steps defined to different programs that he/she may have defined using Open Edge's Eclipse environment. Cicciari told me that in 2012, Progress plans to complete the merger of the 2 products by merging the run time environments
OpenEdge v11 also introduces support for multi-tenancy, the real key to delivering a platform to support effective cloud computing. Progress has implemented support with physical separation occurring within database, rather than using virtual technology. Tenant authentication is required for data access. Additional tenant aware features include auditing and transparent data encryption, and support for groups. Progress provides powerful back-end administrative tools like a web-based DBA console to streamline tenant provisioning within the application. Additionally, ISVs can take advantage of new APIs that enable the application to provision new tenants "on-the-fly" to support dynamic businesses.
Progress Software describes Arcade is a Cloud deployment platform. The Arcade portal environment provides access to an online Cloud community to assist partners and customers to test, demo and deploy SaaS and Cloud-enabled business applications. It also provides on-demand, Cloud-based access to Progress products, allowing a user to learn about the capabilities and benefits offered by these products. Arcade's focus is on public clouds, with Amazon being their first, but the architecture and design of Arcade was built with the purpose of allowing multiple Cloud vendors to be utilized. Mike Ormerod, Software Architect at Progress Software, in a recent blog stated, "It's perfectly feasible that using Arcade you could have an Application Server running on one public cloud vendors infrastructure in one geographic region, and an associated Web Server running on a completely different cloud vendors infrastructure in a different part of the world, allowing the deployment of servers close to the user for maximum performance."
Moving to the new release
Progress have realised that Partners will want to move to this new version of the platform and make use of the new capabilities. To ensure success with the release, Progress have identified a certain number of key partners to work with initially to establish best practice that can be transferred to others later. This segmented approach is also based on the partners' customer base as some industry markets are more ready than others.
However it is not just about software and Progress have been clever in putting together an approach to development that partners can take advantage of, whether this is for enhancing existing solutions or building new ones. This involves the following steps:
- Define the process of the application, using the Progress Savvion BPA tool.
- Identify code segments in the existing application, which acts as external source (often external sources of data information). If those code segments are not Web services yet, consider converting them to Web services at the same time.
- Map code segments that implement interfaces to steps in the process. If those interfaces are not Web-based yet, then Progress suggests that they are re-implementing using Progress Savvion BPM Web Form Designer.
- Identify code segments that implement business logic associated with the steps in the process.
- Identify exception-handling and error-processing code segments.
- Consider combining code segments in the above three steps into services that implement steps in the process.
- Eliminate dead code. Often there will be some code that is not need and does not form part of any of the business process. Those segments of code are dead code. They are not necessary, and can be eliminated.
We are moving into a world in which process plays a more and more important place. To be able to work in today's business world where agility and flexibility and quickness of response are important, our business processes have to be event-driven, so as to allow the rules to be separated out for easy maintenance. But there is one more dimension to the way that we have to look at the process world now and these processes have to be people centric. What does this mean? The "Y" Generation of new workers are very computer literate, but not in the same way as those of us in the "X" generation. By this I mean the Y Generation have grown up texting, playing video games, using Facebook and Twitter everyday. They have grown using collaborative software and with a great deal of mobility and use of different devices to interact with. So to support people-centric event-driven processing world, we need a software infrastructure that allows us to separate our business rules and business processes out of the code of our applications and most importantly can run on any device without major configuration.
So how does the new version of Progress Software's OpenEdge development environment measure up to these requirements? Bloor's overall view is that the strategy ticks many of the boxes - for instance, process code and business rules separated out by using the Savvion platform; the use of an interface to separate the user interface from the application code. Progress Software has considered how their solution partners can use the new version to migrate their current solutions. Bloor would have like to see the use of Automated Business Process Discovery technology to have helped discover the process. However in a subsequent briefing on Savvion only, I learnt that the new release of Savvion doe in fact support ABPD using transaction monitoring technology to gather details about events that can then be used to create process diagrams. So Progress solution partners can not only enhance their existing applications using an add-on style, but can if they desire rebuild their applications completely on to the new platform using the process improvement technology on Savvion.
The bottom line is that Progress Software have made a major step toward providing a development platform fit for solutions to be delivered to business that supports people-centric, event-driven processes.