Introduction


Every business has some process which keeps it in business. This process is at times the key to its success and specific to the business model. But there is always some common subset of activities every company is forced to do whether they like it or not. Keeping records and making those processes work as the management wishes is always a big task. In these modern times almost all offices are using computers to store their data. But the lack of some enterprise software which can connect those computers together and share data between actors makes those computers, information islands, where it would be difficult to access those data and process them.
Our target is to develop software which will automate most common processes and provide a flexible platform to extend them tailor made for the needs of the organization.

The concept

There are a lot of ERP solutions already available in the market.
What makes our solution unique?
If we look into those softwares, each activity will remain in different modules. For users at management level who need to work on different decision making processes are forced to switch between these modules to finish their tasks. This is a cumbersome process. Our approach is to bring back the concept of the office inbox tray which holds all the documents for a clerk or manager to act on. This tray contains files on different matters, but these files are self contained and carry all information needed to process the matter.
In the same manner we will provide an Inbox for the user where all his tasks will wait for his touch. It can be a leave approval, a payment authorization request, a purchase request, quotation approval, a specific task assigned to him, etc. This makes his life easy and he can see the items waiting for his action readily available in his inbox. The user will be completely freed from wandering through the system to find out action items waiting for him. Once he acts on the action items, the system will do the job of office help to move them to the next level of action more precisely and more intelligently.
When the user opens the tasks in his inbox they will open with task specific details. From those pages the user can collect all the information he needs to process those items. This will help them to make most appropriate decision on the action items. For example a team leader processing a leave request can easily bring up the applicant’s past leave status, current work assignments, etc.

Request-Processing Model

The basic concept in the design of the system is the Request-Processing (workflow) model. If we look in to any organization there will be an actor who initializes the process. This actor is called as the requestor who generates a request which needs to be acted upon by the organization. In some special cases, the system itself can act as a requester. Take our classic example of leave request. It is normally generated by an employee and then passed through different levels before it gets approved. Similarly, consider a request for purchasing some material for production or reselling. Depending upon volume and value it may need to go through different levels of processing before it is passed to the vendor. Once a request is generated the system will then push it through its designated workflow.

Architecture

Simplicity

The concept of the architecture is that it must be simple and easily understood by the programmers who will work on it. That will make it easily extended by common programmers. The system is proposed to be developed using ASP.Net and C# which is flexible and mostly understood by the programming community.
‘Simplicity’ is also applicable for the end user usability. It must be possible for an end user to start using the system without any specific training. GUI must be intuitive for the user to understand it and use the system without hassles.

Maintainability

The system is targeted at handling business processes and hence it must be easily maintained by the less technical people. This will make sure that it will not be a show stopper for the business. In order to keep this promise the coding must follow strict coding standards to make it easily understood by the programmers trying to maintain it. Database field names and program variables must be self explanatory so that programmers trying to maintain and extend it can easily understand the usage of the same without going through the complex documentations.

Extendibility

This is one of the key factors of developing such a product. The product must be easily adapted to specific business environments. That means programmers can easily plug in new modules without breaking the system. Documentation must be clear enough for the programmers to extend it and add new functionalities into the framework and common subset. Even the common subsets developed in the initial phase can be easily modified to accommodate business to business changes and rules in the process.

Framework

The first and foremost task is to build a frame work where components can be plugged in to build the business process and functionality of the system. New functionalities added to the system will be referred as modules in the rest of this document. Usage of ASP.Net allows us to make the system to build on pluggable user modules. The framework will be capable of holding different components like Inbox, Request generator, management tools, etc.
Framework will be capable of launching the corresponding module component when the user is trying to access it through the menu and other user activities. It will provide a uniform method to plug in new modules. This will make sure of uniformity in developments. Frame work components are listed below with their functionalities.
  • 1 Request generator: Framework provides an easy way to display new request generator components to the system. Request generators are used by the requester to enter requests like Leave, Purchase requests, Production batch initialization, Payment requests, User complaints, etc.
  • 2 Inbox: Inbox framework is used to configure components that will handle the processing of the request by the authorizing or acting personnel. A request generated by the requester will be automatically moved into the corresponding actor’s inbox.
  • 3 Management Tools: This frame work will hold the components used by a module to manage the specific things related to the module. Module developer is having the freedom to display different activities related to those modules in the menus they wish. But it is recommended to organize components as shown below so that frame work can display modules in a uniform way. Under Management menu frame work will display each module and its submenus.
  • Module Name
  • Manage
  • Reports
  • Setup
  • 4 Background Processing Components: Modules can provide a component which needs to run in the background and will actually execute the business logic on live requests in the system. These components actually process the requests and move them to the inbox as well as change their status.
  • 5 User Manager: User manager is a common functionality hosted by the framework to satisfy the needs of permission and security management. Frame work provides a lightweight class which can be used by modules to check the user permissions before letting them access a functionality provided by the module. If the user does not have the right of access to use one of the module functionalities then this class will be automatically redirected to the access denied page.

More Info

Business Process Automation Software2.Doc

Last edited May 24, 2010 at 4:26 AM by bmjo, version 10

Comments

No comments yet.