Five Steps to Rapid Development with TierDeveloper
Author: Iqbal M. Khan
Unlock the power of rapid development when you use TierDeveloper from AlachiSoft in your N-Tier application development. Follow the steps below to quickly design, generate, and deploy a great portion of your real-life N-Tier application.
- Create your database in Microsoft SQL Server, Oracle, or DB2. You can design and create your own database. Or, you can use the sample database provided with TierDeveloper. Or, you can use one of the databases/schemas already provided with your database. They are:
- Microsoft SQL Server: Northwind database. Just create a new TierDeveloper project against this database.
- Oracle: DEMO schema with EMP, DEPT, BONUS, SALGRADE, and other tables. Just create a new TierDeveloper project against this schema.
- DB2: SAMPLE schema provided with DB2. Just create a new TierDeveloper project against this schema.
- Populate database with data. This would ensure that you have a fully working database ready to be used by a web application.
- Identify table-columns your app will access: Before you do anything, you must know which tables and which columns in these tables is your application going to access.
- Identify transactional operations: Identify where in your application you need to do insert, update, delete, or single-row select operations.
- Identify queries: Most applications need to retrieve collection of rows from one or more tables in the database. Identify all places where you need to issue queries. These could be single-table queries or could involve complex joins or nested queries.
- Identify stored procedures to call: If there are any stored procedures that already exist in the database which you need to call, identify them here. These stored procedures should be those that contains complex business rules or other data manipulation logic. Do not manually create stored procedures in the database for transactional operations or for queries that are otherwise handled by TierDeveloper. TierDeveloper can generate stored procedure DDL for you in that situation.
- Identify bulk updates or deletes: Most applications do not require bulk updates or deletes but some do. If you have any, identify them.
The best way to understand your applications database interaction needs is to understand its behavior from the user's perspective and focus on all the data that needs to be displayed to the user or changed by the user.
- Connect TierDeveloper to your database: TierDeveloper uses OLEDB to connect to your database and reads its schema so it can let you define the mappings of middle-tier objects with tables in the database (based on what you have determined about your application's interaction with your database). Please note that even if you're going to generate Java/J2EE application that will use JDBC to connect to the database, TierDeveloper (the product) will use OLEDB to connect to your database.
- Define data object mappings to your tables: Wherever you had identified table-columns that your application needs, define data objects mapped to these tables with the appropriate columns selected as data object attributes. You can map a data object to single table or multiple tables. You'll need multi-table data objects for situations where you're trying to issue a multi-table join query that returns data from multiple tables.
- Specify transactional methods in data objects: Based on what you identified as your application's transactional needs earlier, you should now define those insert, update, delete, and single-row select as methods of your data objects. TierDeveloper lets you do that with point-and-click.
- Define queries as data object methods: For each query that you identified earlier, define a query method in the appropriate data objects. Remember, a query returns a resultset which get translated into a collection of data objects by TierDeveloper generated code.
- Define stored procedure calls as data object methods: Wherever you needed to call stored procedures, you need to define data object methods for them. Remember, these stored procedures contain sophisticated business rules. Any stored procedures for transactional operations or queries can be generated by TierDeveloper so you do not have to manually write them in the database.
- Define bulk update/delete operations as data object methods: Wherever you need to do a bulk update or bulk delete, you'll need to define data object methods for them.
- Generate data objects: After you have defined all your data objects, you are ready to generate code for them. You can generate data object code in the following format:
- VB.NET components
- C#.NET components
- Build and deploy data objects generated code: If you machine has the appropriate build environment for your platform, TierDeveloper asks you whether you want to build the generated data objects code. If you say "yes", it creates the following. It also then deploys them to your appropriate environment.
- .NET assemblies for .NET components. They are deployed through component services.
- Generate web application: After you have generated and build the data objects, you can generate a fully working web application. The purpose of this web application is to let you test all the functions of data objects. This also serves as a good sample/example code for you to copy into your own web application development. TierDeveloper generates the following types of web applications:
- ASP.NET pages in C# and with or without XML/XSLT.
- Build and deploy web application: TierDeveloper can also build the web pages for you. It does the following for each platform:
- Build a .NET assembly for ASP.NET pages. They are deployed to IIS.
- Run deployed web app with data objects: Now that you have successfully deployed the data objects and the web app, you can run the web app. The really nice thing is that all this generated code is now working against your own database and in your own environment. You can see all the behavior of the data objects through this web app and also use it as a guide in your own web development. Try this and you'll be convinced about TierDeveloper being a true Rapid Development tool.
After running and verifying that all the generated code contains your desired functionality and runs correctly against your database, you are now ready to develop the rest of the application. The areas you are likely to need to develop in your application are:
- Presentation Layer (Web Pages): Use TierDeveloper generated web app as a sample/example for quickly developing your own. You can even copy/paste a lot of the code from the generated web app into yours, thereby speeding up your development work even further.
- Business Objects: Although TierDeveloper generated code contains all your data manipulation logic and some of your business rules as well (in the form of data validation or stored procedure calls), you will most likely have to develop additional business objects. If you're not an expert in your target platform (.NET), you can learn from the generated data objects as your business objects are likely going to be in the same environment and would follow similar design approach.
Author: Iqbal M. Khan works for Alachisoft, a leading software company providing .NET and Java distributed caching, O/R Mapping and SharePoint Storage Optimization solutions. You can reach him at firstname.lastname@example.org.