Web Services
Cascade developers code in a modern Object Oriented fashion, whether in C#, C++, Java, Objective C, or other languages; our coding process is geared towards code reuse and highly maintainable code. As a part of this set of coding standards, we typically will build three tier architectures based on:
- Data Tier (Also called Model)
- Application Tier (Also called Controller)
- Presentation Tier (Also called View)
Depending on the language or style of coding, object oriented programming can be accomplished through MVC or 3 tier architecture, but the guiding principles of code re-use through refactoring and abstracting functions remains basically the same.
At Cascade we typically implement a three tier architecture by placing the Application Tier behind a Web Service, or WCF Service which is uniformly accessible by any SOAP based client. Our Middle Tier Application Servers connect to the data layer through a secure subsystem and often rely on LDAP integrated security impersonation from the Presentation tier to the Web Service or WCF Service.
The application tier will often leverage an Entity Framework in the form of a reusable repository class with multiple methods that are called by the Web Service, and exposed as self discoverable .ASMX file, with a WSDL definition that can be used by numerous clients. This design allows for a maximum of reuse, and much better maintainability for an overall lower TCO (Total Cost of Ownership). TCO is driven down through the use of Web Services and code behind the service contract being maintained in a single location, where updates to business logic can be affected across multiple clients through a single code update in the middle tier.
Database abstraction through the use of Stored Procedures both reduces the security risks of SQL injection, and improves overall maintainability through abstraction of storage functions (Database Tier) from business logic (Middle Tier)
