N-Tier Architecture: How to Get There |
|||||||
Simple, Inexpensive Building Blocks That Grow With Your BusinessIt doesn't cost a lot to create a useful system with building blocks that form the basis of a more complex system as your business gets larger and more complex. And you can avoid the heavy expense of having to redesign and redeploy your website once your business has outgrown it. The software built for your website becomes increasingly useful and integrated into your entire business enterprise. Learn More About Our Team and What We Have to OfferClick here to find out more about the HigherMath programming team, experience and capabilities. We feature web design and programming as well as optimization and promotion services. |
N-Tier Architecture: Getting There One Step at a Timeby Cal Moffett for HigherMathN-tier architecture is a means to an end. It's a solid foundation upon which an entire enterprise can be built. That doesn't mean that your business has to be put on hold during the construction. Instead, while necessary improvements are being made to your site to meet customer needs and to further integrate it into the whole business, these changes are made with the n-tier idea clearly in mind. We can help you get there one building block at a time. No extra expense, just clear thinking, planning and good, solid programming backed by experience. |
||||||
Windows services not accessible via .NET
Third-party DLLs
Routines requiring speed optimization
C++ Modules
ATL COM Wrapper
DLL (inproc COM server component)
|
Routines Requiring Speed or Access to
Functionality Otherwise Inaccessible to Higher Level COM Languages
A (very) few aspects of Windows do not lend themselves readily to treatment under VB.NET. Most features are accessible either via the classes made available by .NET or by accessing the Windows dll's directly. But, some of these dll's are not well-suited to VB access methods. Some third-party software has not been upgraded to include a COM interface compatible with VB or still uses a plain dll interface. On top of this, some calculation-intensive algorithms are more effectively coded in C. These require C++ routines preferrably wrapped in a COM interface to make them accessible to VB test routines or to become part of a larger system of interchangeable components. |
||||||
C++ COM dll
VB.NET Modules
User Interface
EXE (installable application)
|
Rapid Prototyping, Full Development and Rich
Implementation of a Professional-Looking User Interface
Our team has had just the right experience to take full advantage of this powerful platform. We also believe in paying attention to detail without losing sight of the big picture. That is why we think it is important for our clients to fully understand the software architecture being delivered and how it can be expanded and improved in the future--we believe in thorough planning and documentation. VB.NET permits the rapid development of the "look and feel" so that it can be agreed upon well before project completion. And, its robustness allows for the "tweaking" necessary to give the interface a clean, professional appearance. The .NET runtime can handle the lion's share of Windows and data access. But, as outlined in the first section above, we can add or communicate with other dll's as needed. |
||||||
Business Data
XML, MS Access, SQL Server, etc.
ADO.NET/DB Service Provider
VB.NET Modules
Data Access Layer
VB.NET Modules
Business Rules
Database Component
|
Complete Database Design and Addition of Business
Rules
Migration from one kind of data input to another is facilated by the separation of a set of objects that enforce the "business rules" of the enterprise. All data access will use this same interface and, thus, will not have to change if the form of the incoming or outgoing data changes. This is possible by introducing a layer of interchangeable objects based on virtual base classes. These "data access" objects are tuned to the requirements of the underlying data access methods and return the data in a homogenized fashion. For example, it is possible to read data from an XML file and, after massaging it, store in the main database. Without changing the application, it should also be possible to read the same kind of data from another database instead of XML simply by selecting the appropriate data access object from the data access layer. |
||||||
Database Component
Web Server
XML Data Island
HTML/CSS
User Interface
Web Page as Presented in the Browser
|
Enhancing the User's Web Experience While
Optimizing Server Access
|
||||||
|
Data Layer
Data Access Layer
Business Layer
Workflow Layer
Presentation Layer
Five-Tier Architecture
|
Evolution Towards a Complete Five Tier
Architecture
Whether your business is just getting into software or needs to expand its product offerings we can help.
Contact us at | ||||||
|
| |||||||