<?xml version="1.0" encoding="utf-8"?>
<ManualTopic ID="/baanerp/tt/EnterpriseStudio/onlinemanual/development_process" xml:lang="en" TopicType="Overview">
	<Header>
		<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Development process</Title>
		<Keyword ContextSensitive="No"><Level1>
                                    Infor ERP LN Development Tools
                                 </Level1>
			<Level2>development process</Level2>
		</Keyword>
	</Header>
	<AimSection></AimSection>
	<GeneralSection><Paragraph class="Default">Developers use the Infor ERP LN Development Tools to develop the software components that make up the application.</Paragraph>
		<Paragraph class="Default">There is a logical progression in developing the components to create an application. The development process explains this progression.</Paragraph>
		<Figure space-and-orientation="indented-estimated"><HTML:IMG height="547" width="395" SRC="../images/tr_flow_development_process1.gif" path="/enterpriseserver/tools/tt/enterprisestudio/onlinemanual" btb-count="1" btb-count2="1" btb-image-name="tr_flow_development_process1.gif" btb-source-path="C:\SVN\docnl\Technology\EnterpriseServer~8.5\EnterpriseServer" btb-image-path="/enterpriseserver/tools/tt/enterprisestudio/images/tr_flow_development_process1.gif" ID="IDA320AC" alt="[...]" xmlns:HTML="http://www.w3.org/TR/REC-html40"/><FigCaption>The Flow: Development Process</FigCaption>
		</Figure>
		<Paragraph class="Default">The development process steps are:</Paragraph>
	</GeneralSection>
	<GeneralSection></GeneralSection>
	<GeneralSection><SectionTitle>Design Data Model</SectionTitle>
		<Paragraph class="Default">The data model design begins with identifying the entities within the data model, the attributes of the entities and the primary keys of the entities. The elements of the data model are created in Development Tools.</Paragraph>
		<Paragraph class="Default">The data model is normalized so that each entity has a unique primary key, all necessary relations are defined, and data redundancy is reduced.</Paragraph>
		<List><ListIntro>The data model design process will result in a data model consisting of:</ListIntro>
			<ListItem>Table Definitions that define the entities in the data model.</ListItem>
			<ListItem>Fields of tables that define the attributes of the tables. Each field will also have a domain, which is a definition of the data type, format and field validation rules. Labels are initially created based on the field description.</ListItem>
			<ListItem>Foreign key relationships to other tables.</ListItem>
			<ListItem>Indices that can be primary keys and alternate keys.</ListItem>
		</List>
		<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/to_create_a_data_model" role="manual">To create a data model</Link>.</Paragraph>
		<GeneralSection><SectionTitle>Diagram Data Model</SectionTitle>
			<Paragraph class="Default">The diagram of the data model can be created at this point. The foreign key relationships are used to show the relationships between tables.</Paragraph>
			<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/to_create_a_data_model" role="manual">To create a data model</Link>.</Paragraph>
		</GeneralSection>
		<GeneralSection><SectionTitle>Implement Business Rules</SectionTitle>
			<Paragraph class="Default">Business rules are implemented in the Data Access Layer. The rules can be based on the fields, or the record. These rules form the core of the business logic that affects the user interface of the application.</Paragraph>
			<Paragraph class="Default">Property hooks or field hooks operate at a field level and can be used to determine if the field should be displayed, verify valid values, calculate default values and update field values.</Paragraph>
			<Paragraph class="Default">Object hooks operate on the row or record as a whole unit. Object hooks determine if an operation on a row is allowed, and if additional operations should be performed on the row or an operation should be performed on another table.</Paragraph>
			<Paragraph class="Default">Business Methods can be implemented in the Data Access Layer. Business Methods are operations that process a row or set or rows within a table. In order to expose business logic to external applications, the preferred method of implementing this type of processing logic is within a library. The interface to the library is implemented through Infor Business Studio.</Paragraph>
			<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/dal" role="manual">DAL</Link>.</Paragraph>
		</GeneralSection>
	</GeneralSection>
	<GeneralSection><SectionTitle>Implement Data Model</SectionTitle>
		<Paragraph class="Default">The data model is implemented by creating tables for a company. The tables for a company are created based on the table definitions that are active for the company’s package combination.</Paragraph>
		<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/to_create_a_data_model" role="manual">To create a data model</Link>.</Paragraph>
	</GeneralSection>
	<GeneralSection><SectionTitle>Create User Applications</SectionTitle>
		<Paragraph class="Default">The user applications are created. The main focus of this phase of component development is to create user-oriented panels that list, create, modify and delete data based on the table definitions.</Paragraph>
		<GeneralSection><SectionTitle>Create Sessions and Forms</SectionTitle>
			<Paragraph class="Default">Sessions are the tasks that execute. Forms are the user interface part of the sessions. Forms specify the fields and labels that allow users to view and manipulate data.</Paragraph>
			<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/to_create_sessions" role="manual">To create sessions</Link>.</Paragraph>
		</GeneralSection>
		<GeneralSection><SectionTitle>Create Reports</SectionTitle>
			<Paragraph class="Default">Reports format and output data from a session. Reports can contain logic such as subtotals, counts and totals based on the data that is processed.</Paragraph>
			<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/to_create_reports" role="manual">To create reports</Link>.</Paragraph>
		</GeneralSection>
		<GeneralSection><SectionTitle>Create UI Scripts</SectionTitle>
			<Paragraph class="Default">User Interface (UI) Scripts assist the developer in providing user interface logic for a specific session. The object and property hooks/field hooks in the DAL of the table will be active when the session executes. The UI script provides the additional opportunity to the developer to specify logic. UI Scripts should be session specific.</Paragraph>
			<ProcedureList><ListIntro>Examples of UI Script actions are:</ListIntro>
				<ListItem>Import values from another session.</ListItem>
				<ListItem>Perform a query for a report.</ListItem>
				<ListItem>Specify what happens when a button is clicked.</ListItem>
			</ProcedureList>
			<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/ui_scripts" role="manual">UI scripts</Link>.</Paragraph>
		</GeneralSection>
	</GeneralSection>
	<GeneralSection><SectionTitle>Create Business Logic</SectionTitle>
		<Paragraph class="Default">Business Logic is operations that process a row or set or rows within a table. Business Logic is not session specific, and is implemented within a library. A session or hook can initiate the business logic. An interface to the business logic is implemented in the Infor Business Studio. This interface allows external applications to execute the business logic.</Paragraph>
		<List><ListIntro>Business logic can be implemented as Association Logic or Aggregation Logic.</ListIntro>
			<ListItem>Association logic is implementing a related table. For example, the order session requires a business partner, and the logic depends on the business partner data.</ListItem>
			<ListItem>Aggregation logic is implementing a parent-child table relationship. For example, an Order Header process can update all the Order Lines for the order.</ListItem>
		</List>
		<Paragraph class="Default">The Association and Aggregation Logic are programmed in a Dynamic Link Library (DLL). The interface to the library is implemented via Infor Business Studio.</Paragraph>
		<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/libraries" role="manual">Libraries</Link>.</Paragraph>
	</GeneralSection>
	<GeneralSection><SectionTitle>Create Menus</SectionTitle>
		<Paragraph class="Default">After the sessions, forms and business logic is complete, the user needs a way to start the sessions. A menu is created with options for starting sessions or other menus.</Paragraph>
		<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/EnterpriseStudio/onlinemanual/menus" role="manual">Menus</Link>.</Paragraph>
		<GeneralSection><SectionTitle>Create Business Processes</SectionTitle>
			<Paragraph class="Default">Sessions form an ordered procedure for completing a business task. This procedure is implemented as a Business Process in the Enterprise Modeler application.</Paragraph>
			<Paragraph class="Default">For details, refer to the Enterprise Modeler documentation.</Paragraph>
		</GeneralSection>
	</GeneralSection>
	<GeneralSection><SectionTitle>Document</SectionTitle>
		<Paragraph class="Default">Developers have a number of tools within the application development environment to document their work. Developers can create technical documentation at the component level based on the component, the release, or implement customization projects to identify components created for a specific project. User context driven help documentation can be created for deployment in the Web Help application.</Paragraph>
		<Paragraph class="Default">For details, refer to the Infor Web Help.</Paragraph>
	</GeneralSection>
	<GeneralSection><SectionTitle>Deploy Application</SectionTitle>
		<Paragraph class="Default">Exporting the software components from the development environment and moving the components to a production server deploy the application. Components are imported to a production server.</Paragraph>
		<Paragraph class="Default">For details, refer to <Link href="/baanerp/tt/onlinemanual/vrm_export_import_procedure" role="manual">Export and import procedure</Link>.</Paragraph>
	</GeneralSection>
	<GeneralSection><SectionTitle>Identify Changes</SectionTitle>
		<Paragraph class="Default">As businesses change, and workflow processes adapt and improve, application requirements change over time. As changes are identified, application components can be added, changed or expired to suit the business requirements.</Paragraph>
	</GeneralSection>
</ManualTopic>
