Is the process server scalable?
The process server is a small set of web services.The web services are light weight protocols and hence are very robust. The web services mainly perform the following operations
- String parsing
- Pass SQL to database
The
rules are predominantly executed through optimized string parsing.
Hence, these are not long running web services and hence will not
affect scaling.The
SQL statements are just passed to the database with right parameter
values. Hence, in many cases the process server acts as just a conduit
to database.So,
the level of scaling that can be achieved is directly dependent on the
capability of the server. When a strong RDMB is used scaling does not
become an issue at all.
There may be performance degradation because the process server parses the process structures for every request. Is this true? There
will not be any significant performance degradation because string
parsing is the only extra over head over coded applications. The string
parsing has been optimized over a period of time and simple caching
mechanisms have been put in place. Moreover, the leanness of the web
services (just about 3 MB) and the advantages offered by a process
independent application significantly scores over this small overhead
Can complex business processes be defined as process structures?
Business
processes of any complexity can be defined as process structures. This
stems from the fact that a process structure is an extrapolation of
table structures that form the basis for a database application. In the
past few decades robust, scalable and very successful applications have
been built around table structures (database servers). Hence, a process
structure based application should be able to cater to any complex
business process.
Further,
any business process can be visualized as a collection of data input,
validation, data flow and actions. All these can be defined as part of
a process structure. Hence, any business process can be defined as
process structures.
How is it different from building an application using visual studio for dot net or any visual java development tool?
The
basic difference is the amount of programming that needs to be done is
significantly reduced. Reasonably complex applications ERP, CRM, HMS,
HCMS, etc can be built without writing programs in any programming
language. However, fundamental database and SQL (select statements)
Knowledge is necessary.
Storing
business processes as data will provide an additional advantage of
having tools to bring out process dependencies and flow pictorially.
This will increase control on the application and also make it
responsive to changes. Coding may be needed only for bridging with other applications or devices. Hence, there will be considerable effort reduction in the overall ALM.
How many process structures can there be in a system?
There
can be any number of process structures in a system. A process
structure can also have relationship with many other process
structures.
Can the process server be deployed on a Linux or Unix server?
The
current version is available for deployment only under a MS Windows
2003. A Java based process server will be made available by end of
March 2009 which can be deployed on any open servers.
What kind of skill is required to create an application on a process server?
Apart
from domain knowledge a good knowledge on database and SQL statements
is the basic skill required for building applications on a process
server. The
know-how on using Axpert stem is also needed. However, the Axpert Stem
is a simple GUI driven intuitive tool that may not need very extensive
training on using it. The tool can be mastered in a few days.
Can the data in an available database be re-used?
The
data available in the database in other tables can be re-used just by
using SQL statements. SQL can be attached to any data element in a
structure or can be used to populate data into the structure. Hence,
data available in the same database can be re-used without any
additional effort.
How can it interact with other applications?
The
process server publishes all its application functionality as web
services. So, any external application can read data from the process
server using its web services. Functionality of other applications can
be executed from the structures by making web service calls.
Standard
interoperation with all productivity tools like XL, Word, PDF are
provided by default in Axpert. These can be integrated at any level and
to any screen. Table
structures are published to enable end users. So, any other external
application can also do a data level integration with Axpert. Standard importing and exporting routines are provided into any screen where data is input from XML and CSV files.
The
enterprise version also comes with an exchange server that can do
scheduled data exchange. The data format for exchange is XML.
Is it not better to use off the shelf products instead of creating process on a process server?
Wherever
standard products fit the business process, using them will be a better
choice. However, if the product needs deep customization then it is
better to go the process server way. This is because deep customization
will consume a lot of time and effort and will also render the product
less responsive to changes.
Moreover,
business processes that are rules driven and the ones that change quite
frequently will be better if defined as process structures because of
the high maintainability guaranteed by the process server.
How reliable is the Axpert process server?
The
Axpert server has been providing results in 150 plus customer sites for
varied purposes. 35 of these are end to end solutions and are business
critical. Some of them are very large enterprises that belong to the
Indian government. The process structure driven method has been
delivering results for the past 3 plus years without any problem.
All
the companies that own the process server did not go in for another
solution after putting the process server in place. All business
processes have been built as structures on the Axpert server.
How secure is the process server?
The
data and the process structures are stored within the database server.
So, the security is as high as a database server. The process server
itself is a set of web services that are deployed under a web server.
Hence, all the security policies that are applied on the web server
apply to the process server too. The data transfer over the wire can be made secure by using HTTPS instead of HTTP.
The
process server allows creation of user roles. The access control on
every structure can be defined for every role. Users can be assigned to
roles. So, unauthorized access to the structures is blocked by the
process server. The users, roles and their passwords are
also stored in the database. The passwords are stored encrypted using
md5 algorithm. Hence, the application and the data are very secure.
Does it support HTTPS?
Yes, it does support HTTPS.
How many concurrent users can it support?
The
number of concurrent users depends on the web server and database
server configuration. The process server is deployed under the web
server. In case the concurrent users access need to be increased, more
web servers can be added along with the process server and a routing
can be put in place. So the capacity of the process server is governed by the configuration of the web server.
How can an application built on a process server be migrated to other technologies?
An
application is built as a set of process structures. These process
structures can be viewed using the Axpert Stem. All the business rules
and the flow are part of the structures and hence the complete
application can be viewed using the Axpert Stem. Moreover,
the process structures are stored in XML format in the database. So,
even without the help of the Axpert Stem, these can be used to migrate
to other technologies. The effort involved will be the same as seeing an application developed in one programming language to another.
In what domains can applications be built on the process server?
The
process server is domain neutral. Applications can be built for
catering to any business process in any domain. This is because a
process structure (the central piece in the application) is an
extrapolation of table structures that can be used across domains.
Can a portal be built on the process server?
No
a portal cannot be built using the process server. It is not intended
for doing it. However, the process server can provide the structures
within containers (iframes) that can be embedded into any portal.
Hence, this feature can be used to link enterprise to web portals.
How is work flow handled?
A
status based work flow can be defined as part of process structures.
The status field can be updated based on different rules and additional
actions can be attached to the status. For example when the status
changes may be a mail needs to be sent. These are defined as actions
within the structures.
How is access control implemented?
The
process server allows creation of user roles. The access control on
every structure can be defined for every role. Users can be assigned to
roles. So, unauthorized access to the structures is blocked by the
process server. The users, roles and their passwords are
also stored in the database. The passwords are stored encrypted using
md5 algorithm. Hence, the application and the data are very secure.
Can record level access control be implemented?
Record
level access control can be implemented as part of access control. That
is for every role, the access to transactions that satisfy a given
condition can be set. This will provide very high level security on
transactions.
Can field level access control be implemented?
Access
to every data element in a structure can be controlled based on role.
When a user logs in and access a structure, depending on the role
assigned to the user the access is governed by the process server.
How can process structures be integrated with SAP?
Bridge
programs need to be written that consume web services from the process
server and call the API provide by SAP to do the integration. This can
be done on a case to case basis. However, the future versions will have
a standard connector to SAP.
Can external devices be integrated with the process server?
Web
services that integrate with external devices can be attached to the
process server. These can be made part of an action associated with a
structure.
Can SMS be sent from an action in a structure?
Web
services need to be written to send SMS through a SMS modem. These
services can be called through an action associated with a structure. The future versions will have a native task that will integrate with an SMS modem.
How to implement an approval system?
An
approval system is defined as a status based work flow. A field is
introduced in the structure to hold the document status. Depending on
the business rule and the role of the user logged in the status is
changed. This is done by defining an action in the structure that needs
the approval flow.
How to connect to crystal reports?
A
VB program can be written to print using crystal reports and can be run
as a web service. The data from the process server can be got through
web service or by connecting directly to database and using SQL
statements.
Can the application developed on a process server be integrated with an existing portal?
The
process server can provide the structures within containers (iframes)
that can be embedded into any portal. Hence, this feature can be used
to link enterprise to web portals.
How are applications deployed to end customers?
The
process server is deployed under the web server. The process structures
are copied from the development server using export option and imported
into the database in the productions server.
How are applications tested?
Applications
can be tested just like a coded application. However, an extensive test
on the functionality provided by the process server need not be done
because it is already tested. The functionality of only the structures
need to be tested.
How is up gradation managed?
Upgrades
to process structures can be done on site or can be done off site and
imported into the database server any time. However, before every
deployment of new process structures a thorough test is suggested. Upgrades
to the process server are needed only for making technology extensions.
When this is done, the server is re-deployed onto the production
server. However, a sanity test of the application may be needed after
upgrading the process server. In case the process server changes the
data format of the process structures, those are done automatically.
Is the customer vendor locked?
The
customer is not vendor locked because the complete application is
stored in the data base in XML format. The table structures that are
created by the process server are transparent. So, any time an
application that is built on the process server can be migrated to
other technologies.
New
processes or changes to existing process structures can be made without
the help of vendor if the customer possesses the license for Axpert
STEM. In fact possessing the Axpert Stem will empower end customer to
the extent that there will be no dependency on the vendor. Moreover
since the process server is a set of web services, it allows high
degree of inter operability and there is no need for depending on
software vendor to provide hooks to other applications.
Are there any bench marks for the claim on reduction in development time?
Yes,
we have done proof of concepts comparing the development time on the
process server against bespoke development. Our claim is based on such
case studies.