If need be, we will modify the model, add metadata to it, define new icons, etc. in order to have the necessary information to generate the application.The idea of the process is:
- We receive a Purchase Order (PO) from our customer
- We create a new Sales Order (SO) in our system referencing the PO.
- Once we enter the SO the commercial information is checked or added (prices, comissions, etc.)
- Customer financial status is checked (credit limit, overdue invoices, etc.)
- Inventory is checked
- When the order passes the three check it is ready to be processed and a picking list order is sent to the corresponding warehouse
- At anytime we can receive a notification to cancel the open order
We could make this process a lot more complex by going into detail such as the posibility of receiving a PO by fax vs a PO by a web service in XML. We will try to do the basic process (completely manual) first and then try adding thigs as we go along.
In order for this process to work the following business objects or business entites must exist:
- Sales Order
- Customer
- Product
- Picking List
In my blog entry Business Application Development, I defined certain components that should be present in order to generate Business Applications with just a Business Model. These components were classified in five areas: Model, User Interface, Business Process, Services, and Data.
In order to edit business entities we must have:
- Model: Business Entity Definitions
- Model: Business Process
- Model: Contextual Security
- User Interface: Generic Business Entity Editor (use of reflection to generate GUI)
- Business Process: Business Entity Validation Rules
- Data: Persitence Framework
- Data: Business Entity Repository
- Data: Master Data Management process
