This document describes a 3-tier architecture and provides exercises to implement it. It introduces 3-tier architecture, web services, APIs, and other concepts. It then provides step-by-step instructions to create each tier of a 3-tier architecture - the data tier, logic tier, and presentation tiers. The presentation tiers created are an ASP.NET web forms application and a Windows forms desktop application, both connecting to the shared logic and data tiers.
Now that we have looked several design patterns, from the databases to web presentation, we are now ready to look at the application as a whole. In this lecture we examine the considerations we face when creating an application architecture and we look at each of the three layers.
The lecture presents one way of designing enterprise applications. The goal is to create scalable services.
We also look at the Play framework in more detail and look at REST.
For our next ArcReady, we will explore a topic on everyoneâs mind: Cloud computing. Several industry companies have announced cloud computing services . In October 2008 at the Professional Developers Conference, Microsoft announced the next phase of our Software + Services vision: the Azure Services Platform. The Azure Services Platforms provides a wide range of internet services that can be consumed from both on premises environments or the internet.
Session 1: Cloud Services
In our first session we will explore the current state of cloud services. We will then look at how applications should be architected for the cloud and explore a reference application deployed on Windows Azure. We will also look at the services that can be built for on premise application, using .NET Services. We will also address some of the concerns that enterprises have about cloud services, such as regulatory and compliance issues.
Session 2: The Azure Platform
In our second session we will take a slightly different look at cloud based services by exploring Live Mesh and Live Services. Live Mesh is a data synchronization client that has a rich API to build applications on. Live services are a collection of APIs that can be used to create rich applications for your customers. Live Services are based on internet standard protocols and data formats.
Now that we have looked several design patterns, from the databases to web presentation, we are now ready to look at the application as a whole. In this lecture we examine the considerations we face when creating an application architecture and we look at each of the three layers.
The lecture presents one way of designing enterprise applications. The goal is to create scalable services.
We also look at the Play framework in more detail and look at REST.
For our next ArcReady, we will explore a topic on everyoneâs mind: Cloud computing. Several industry companies have announced cloud computing services . In October 2008 at the Professional Developers Conference, Microsoft announced the next phase of our Software + Services vision: the Azure Services Platform. The Azure Services Platforms provides a wide range of internet services that can be consumed from both on premises environments or the internet.
Session 1: Cloud Services
In our first session we will explore the current state of cloud services. We will then look at how applications should be architected for the cloud and explore a reference application deployed on Windows Azure. We will also look at the services that can be built for on premise application, using .NET Services. We will also address some of the concerns that enterprises have about cloud services, such as regulatory and compliance issues.
Session 2: The Azure Platform
In our second session we will take a slightly different look at cloud based services by exploring Live Mesh and Live Services. Live Mesh is a data synchronization client that has a rich API to build applications on. Live services are a collection of APIs that can be used to create rich applications for your customers. Live Services are based on internet standard protocols and data formats.
This article describe entity framework code first migration steps in a simple way .Code first migrations commands and how to deployed to the Azure cloud .
Dairy management system project report..pdfKamal Acharya
Â
ASP.NET is the next version of Active Server Pages (ASP); it is a unified Web development platform that provides the services necessary for developers to build enterprise-class Web applications. While ASP.NET is largely syntax compatible, it also provides a new programming model and infrastructure for more secure, scalable, and stable applications. ASP.NET is a compiled, NET-based environment, we can author applications in any .NET compatible language, including Visual Basic .NET, C#, and JScript .NET. Additionally, the entire .NET Framework is available to any ASP.NET application. Developers can easily access the benefits of these technologies, which include the managed common language runtime environment (CLR), type safety, inheritance, and so on. ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and other programming tools, including Microsoft Visual Studio .NET. Not only does this make Web development easier, but it also provides all the benefits that these tools have to offer, including a GUI that developers can use to drop server controls onto a Web page and fully integrated debugging support.
Join us for a deep dive into Windows Azure. Weâll start with a developer-focused overview of this brave new platform and the cloud computing services that can be used either together or independently to build amazing applications. As the day unfolds, weâll explore data storage, SQL Azureâ˘, and the basics of deployment with Windows Azure. Register today for these free, live sessions in your local area.
This article describe entity framework code first migration steps in a simple way .Code first migrations commands and how to deployed to the Azure cloud .
Dairy management system project report..pdfKamal Acharya
Â
ASP.NET is the next version of Active Server Pages (ASP); it is a unified Web development platform that provides the services necessary for developers to build enterprise-class Web applications. While ASP.NET is largely syntax compatible, it also provides a new programming model and infrastructure for more secure, scalable, and stable applications. ASP.NET is a compiled, NET-based environment, we can author applications in any .NET compatible language, including Visual Basic .NET, C#, and JScript .NET. Additionally, the entire .NET Framework is available to any ASP.NET application. Developers can easily access the benefits of these technologies, which include the managed common language runtime environment (CLR), type safety, inheritance, and so on. ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and other programming tools, including Microsoft Visual Studio .NET. Not only does this make Web development easier, but it also provides all the benefits that these tools have to offer, including a GUI that developers can use to drop server controls onto a Web page and fully integrated debugging support.
Join us for a deep dive into Windows Azure. Weâll start with a developer-focused overview of this brave new platform and the cloud computing services that can be used either together or independently to build amazing applications. As the day unfolds, weâll explore data storage, SQL Azureâ˘, and the basics of deployment with Windows Azure. Register today for these free, live sessions in your local area.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
How to Make a Field invisible in Odoo 17Celine George
Â
It is possible to hide or invisible some fields in odoo. Commonly using âinvisibleâ attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Model Attribute Check Company Auto PropertyCeline George
Â
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
Â
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as âdistorted thinkingâ.
Palestine last event orientationfvgnh .pptxRaedMohamed3
Â
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
How to Create Map Views in the Odoo 17 ERPCeline George
Â
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
Â
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasnât one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2. Client-
Server
Software Architecture
Web
Services
APIs
3-Tier
Architecture
API: Application Programming
Interface. Different devices or software
modules can share the same code.
Code once, use it many times
Web Services: A standard
way to get data over a
network/Internet using
standard Web protocols
(HTTP, etc.)
3-Tier: A way to structure your code
into logical parts. Different devices or
software modules canshare the same
code.
Good Software!
2-Tier
n-Tier
3. 3
The database-centric style. Typically,
the clients communicate directly with
the database.
A three-tier style, in which clients
do not connect directly to the
database.
Web Services, etc.
5. Why 3-Tier (N-Tier Architecture?)
⢠Flexible applications
⢠Reusable code
â Code once, use many times
⢠Modularized
â You need only to change part of the code
â You can deploy only one part
â You can Test only one part
â Multiple Developers
⢠Different parts (Tiers) can be stored on different
computers
⢠Different Platforms and Languages can be used
⢠etc.
5
7. 3-tier/layer Architecture
Presentation Tier
⢠This is the topmost level of the application.
⢠The presentation tier displays information related to such services as browsing
merchandise,purchasingand shoppingcart contents.
⢠It communicates with other tiers by which it puts out the results to the
browser/client tier and all other tiers in the network.
⢠In simple terms it is a layer which users can access directly such as a web page,
or an operatingsystems GUI
Application tier (business logic, logic tier, data access tier, or middle tier)
⢠The logical tier is pulled out from the presentation tier and,as its own layer.
⢠It controls an applicationâs functionalitybyperformingdetailedprocessing.
Data tier
⢠This tier consists of database servers.Here informationis stored and retrieved.
⢠This tier keeps data neutral and independentfrom application servers or
business logic.
⢠Givingdata its own tier also improves scalabilityand performance.
7
http://en.wikipedia.org/wiki/Multitier_architecture
9. 3-tier Architecture
Presentation Tier
Business Logic Tier
Data Access Tier
Database
Presentation Tier Presentation Tier
Stored Procedures
Different Devices can share
the same Business and Data
Access Code
The different Tiers can be
physical or logical Data Tier
Logic Tier
10. Web
Server
3-tier + WebService Architecture - Example
Presentation
Tier
Business/Data
Logic Tier
Data
Source
Web
Services
Server(s)
Data
Tier
Stored
Procedures
Server-side Client-side
11. Web
Server
3-tier + WebService Architecture - Example
Presentation
Tier
Business/Dat
a Logic Tier
Data
Source
Web
Services
Team
Foundation
Server
TFS Cient
Installed on one or more
Windows Servers in your LAN
or in the Cloud
Data
Tier
Stored
Procedures
Team FoundationServer
12. 3-tier Architecture Scenarios
Presentation Layer
Business Logic
Data Access Logic
Database
Presentation Layer Presentation Layer
Stored
Procedures
Client
Client
Client
Web
Server
Web Service
Presentation Layer
Client
Presentation Layer
Internet
Local Network (LAN)
Client
Firewall
Presentation Layer
Server
Server
13. Exercises
1. Create Data Tier (Database)
2. Create Logic Tier (Database Communication Logic)
Create Presentation Tier (User Interface Logic):
3. WebApp: Using ASP.NET Web Forms (WS normallynot needed)
4. Desktop App: Using WinForms
A. Without Web Services (We assume the App will be used
only in the LAN and that we have direct access to the
Database)
B. With Web Services (We assume the App should be used
on Internet outside the Firewall without direct DB access)
14. Database
Presentation Tier
e.g., ADO, ADO.NET
Logic Tier
Web Service
Business Tier
Data Access Tier
Data Tier
Stored Procedures
Views
Tables
Web Server
Database
Server
Presentation Tier
Client
ASP.NET Web Forms
Web App
Presentation Tier
Client
Client
Client
WinForms
3-tier
Architecture
Scenarios
Firewall
Clients
Desktop App
Mobile
App
Internet
Local
Network
Note! The different Tiers
can be on the same
Computer (Logic Layers) or
on different Computers in a
network (Physical Layers)
Android, iOS, Windows
8/Windows Phone,
etc.
Presentation Tiers
Devices can share the same
Business/Logic Tier and
APIs
Seperate Presentation Tier
for each Device App
API
API
API
API
15. 15
Visual Studio Projects
Solution with all Projects
(Logic Tier, Web Service,
Desktop App, Web App,
Mobile App)
Solution with Projects
used by Web App
(Logic Tier, Web App)
16. Data Tier
We are going to create the Database / Data Layer/Tier,
including:
1. Tables
2. Views
3. Stored Procedures
4. Triggers
5. Script for some âDummyâ Data
Download Zip Files with Tables, Views, Stored Procedures
and Triggerse in order to create the Data Tier in SQL Server
(The ZIP File is located on the same place as this File)
16
Note! Install them
in this order
21. Create Logic Tier
21
Database
Presentation Tier
Logic Tier
ASP.NET Web Forms
Data Tier
Presentation Tier Presentation Tier
WinForms Windows Store App
Purpose:
⢠All the Apps should/could
share the same Logic Tier
⢠To make your Apps easier
to maintain and extend
⢠etc.
23. 23
Add Project for Logic Tier (Data Access)
Select a âClass Libraryâ Project
âLogicTierâ
24. 24
Add a New Class to the
Project (âStudentData.csâ)
âStudentData.csâ
25. 25
Create the Code, e.g., like this (âStudentData.csâ):
Create your own Namespace
Improvements: Use Try... Catch...
A View that collects data
from several tables
26. 26
You should test the SQL Query in the SQL Server
Management Studio first
27. 27
Code (âStudentData.csâ):
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Data;
namespace Tuc.School.LogicTier
{
public class StudentData
{
public DataSet GetStudentDB(string connectionString)
{
string selectSQL = "select StudentName, StudentNumber, SchoolName, ClassName,
Grade from StudentData order by StudentName";
// Define the ADO.NET objects.
SqlConnection con = new SqlConnection(connectionString);
SqlDataAdapter da = new SqlDataAdapter(selectSQL, con);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
}
28. 28
Create a proper name for the Assembly (.dll File)
This will be the Assembly for your
Logic Tier, that can be imported
and used in other projects.
Create once â use it many times!!
Then Build your
Project (hopefully
with no errors)
Right-click on the Project in the Solution Explorer and select Properties
34. 34
Code for âStudent.csâ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using Tuc.School.LogicTier;
namespace Tuc.School.WebApp
{
public class Student
{
public DataSet GetStudent(string connectionString)
{
StudentData studentData = new StudentData();
return studentData.GetStudentDB(connectionString);
}
}
}
Get Dat from our
Logic Tier
Since we are using the DataSet Class
Our Logic Tier
38. 38
Code behind for the Web Form (âStudentInformation.aspx.csâ)
using System.Web.Configuration;
using Tuc.School.WebApp;
namespace WebApp
{
public partial class StudentInformation : System.Web.UI.Page
{
private string connectionString =
WebConfigurationManager.ConnectionStrings["SCHOOLConnectionString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillStudentGrid();
}
}
private void FillStudentGrid()
{
DataSet ds = new DataSet();
Student studentList = new Student();
ds = studentList.GetStudent(connectionString);
gridStudentData.DataSource = ds;
gridStudentData.DataBind();
}
}
}
Note!
Web.Config
39. 39
Store the âConnectionStringâfor your Database in âWeb.Configâ
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="SCHOOLConnectionString" connectionString="Data Source=macwin8;Initial
Catalog=SCHOOL;Persist Security Info=True;User ID=sa;Password=xxxxxx"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
Then you can easly switch Databsse without changingthe Code!!
40. 40
Test your Web App
Note! We have used a âViewâ in order to get data from several tables
43. 43
Presentation Layer
Desktop App: WinForms
Part A: Without Web Services (we assume the App will be used only in the local LAN (or
local on the same computer where the database is located) and that we have direct access
to the Database)
Label
DataGridView
46. 46
Add Code in Class
Add a Reference to the
Assembly in the Logic Tier
47. 47
Code for Class âStudentWinForm.csâ
using System.Data;
using Tuc.School.LogicTier;
namespace Tuc.School.WinFormApp
{
class StudentWinForm
{
public DataSet GetStudent(string connectionString)
{
StudentData studentData = new StudentData();
return studentData.GetStudentDB(connectionString);
}
}
}
Reference to our Logic Tier
Since we are using the DataSet Class
Our Database Method in our Logic Tier
55. 55
Presentation Layer
Desktop App: WinForms
Part B: Using Web Services (we assume the The App should be used on Internet outside
the Firewall)
Label
DataGridView
56. 56
Step 1: Create Web Service
Add Web Service:
Create an ASP.NET Project:
âSchoolWSâ
âSchoolWS.asmxâ