מונחים בסיסיים במודל השכבות

Slides:



Advertisements
Similar presentations
Project Server 2010 is just an Application on SharePoint.
Advertisements

These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Employee Scheduling System Michael Attewell: Project Manager Abram Jackson: Web Programmer/Analyst Michael Kraft: Systems Analyst.
Final Presentation WINTER 2009 – SUMMER 2009 PRESENTED BY: George Kour Hany Danial SUPERVISOR: Victor Kulikov Networked Software Systems Laboratory DEPARTMENT.
SoftLab Project Winter 2008 Supervisor: Victor Kulikov Students: Dmitry Kanevsky Nir Lev-Ari.
StockWatch Developers: Nimrod Hagay Hagai Barkan Supervisors: Assaf Solomovitch Viktor Kulikov June 2009.
Company Founding Customer Wins Series B Investment Scaling The Business $$$ Silver Tail Systems - Key Milestones.
Product Management System Xiao Zhou. Introduction Why This project? It is an opportunity to learn new things and gain some experiences. My friend is a.
Virtual techdays INDIA │ 9-11 February 2011 UI Exuberance – Architect with Apt Technologies Sandeep J Alur │ Enterprise Architect Advisor, Microsoft India.
Design Aspects. User Type the URL address on the cell phone or web browser Not required to login.
EE-Video Yossi Biton Nir Yakobovski Outline  The concept  Main functionality  Challenges & Solutions  Design considerations Layers Class diagram.
The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation.
Ronnie Saurenmann Principal Architect Microsoft Switzerland
EE-Video Yossi Biton Nir Yakobovski Outline  The concept  Main functionality  Challenges & Solutions  Design considerations Layers Class diagram.
ASP.net – Mysteries, Myths and Truths By George W. Ponick IV – Nov. 14, 2006.
On-Line Video Store Vitaly Panor Tal Joffe September, 2009 Project Supervisor: Victor Kulikov VTVS.
Arvind Gupta Professional Software Developer C#.net Portfolio  N-tier layered application  Defining a class object  Use of iComparable, iEnumerable.
DEV337 demo From The Book of WPF, available from my site 10rem.net.
©2012 Microsoft Corporation. All rights reserved..
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Overview AdministrationEmployeeCustomerWaiting Screen.
StockWatch Developers: Nimrod Hagay Hagai Barkan Supervisors: Assaf Solomovitch Viktor Kulikov June 2009.
Introduction In The Name Of Allah, The Beneficent, The Merciful.
By Wayne Sibley Information Engineering Technology University of Cincinnati College of Applied Science.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
Slide 1 ASP Authentication There are basically three authentication modes Windows Passport Forms There are others through WCF You choose an authentication.
Sudoku Taryn Wise. Operational Concepts and System Requirements Solve sudoku puzzles in a convenient way Have a notes option for number possibilities.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
 GUI – Graphic User Interface  Up to now in the programs we have written all output has been sent to the standard output device i.e.: the DOS console.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 The SqlConnection Object ADO.NET - Lesson 02  Training time: 10 minutes 
Enterprise.NET 1 CA - presentation HENDRI FRANYOHT082210N KRISHNAMURTHY SAMANTH YADAVHT082239L CAI XIANGHT082182A KHAING MYAT THWEHT082208L AUNG MOEHT082184B.
Web Application Layer (UI) What is StockTrader?  N-tier application  Web tier: ASP.NET  Middle tier(s):.NET WCF Services  Data tier: SQL Server/SQL.
Shell Interface Shell Interface Functions Data. Graphical Interface Graphical Interface Command-line Interface Command-line Interface Experiments Private.
The basics of knowing the difference CLIENT VS. SERVER.
PROGRAMMING IN VISUAL BASIC.NET CREATING YOUR FIRST WEB APPLICATION Bilal Munir Mughal 1 Chapter-3.
Presentation Layer (Graphical User Interface) AppGUI Logic Layer (Business Logic and data access) Network Discovery Device Information Extraction Network.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Interaction classes Record context Custom lookups.
The Jukebox is a.NET web application that plays streaming music files to it’s clients according to their favorites musical genres. Clients can rate the.
Citrix Web Interface Complete solution for Custom Citrix Solution
myAIMS Survey Creating a reusable survey application.
DEVRY CIS 407 A (All iLabs 1 to 7) Check this A+ tutorial guideline at For more classes.
Windows 7 Ultimate
ISYS 350 Building Business Applications
Department of Computer Science
DAL, Three-tier architecture
Module 1: Getting Started
ISYS 350 Building Business Applications
Windows 94
ISYS 350 Building Business Applications
Operativni sistem Microsoft Windows
Social Media And Global Computing Introduction to Visual Studio
Web-based Console for Controlling a Wireless Sensor Network (WeConWSN)
Tonga Institute of Higher Education
Understanding the Visual IDE
Introduction to NetDB2 IST210.
Tiers vs. Layers.
ISYS 350 Building Business Applications
ISYS 350 Building Business Applications
ISYS 350 Building Business Applications
ACS Deployment Scenarios
ISYS 350 Building Business Applications
Ашық сабақ 7 сынып Файлдар мен қапшықтар Сабақтың тақырыбы:
Windows басқару элементтері
Project Change Control
ISYS 350 Building Business Applications
Қош келдіңіздер!.
Информатика пән мұғалімі : Аитова Карима.
Introduction to ASP.NET MVC
Presentation transcript:

מונחים בסיסיים במודל השכבות Web Services מונחים בסיסיים במודל השכבות כתבה: זהבה יעקבסון ליווי מקצועי : ארז קלר www.corner.co.il

חלוקת התכנית לשכבות , מדוע ? השכבות. דוגמה.

חלוקת התכנית לשכבות , מדוע ? נתבקשנו לפתח תוכנה לניהול חנות מכולת קטנה, בעל המכולת מעוניין בתוכנה אשר באמצעותה הוא יוכל לנהל קופה רושמת, קטלוג מוצרים, וניהול מלאי המוצרים בחנות. הנתונים עצמם צריכים להישמר במסד נתונים. התוכנית תקרא ותשמור את הנתונים במסד הנתונים. לצורך כך פיתחנו תוכנה אשר פונה למסד הנתונים לצורך ביצוע הפעולות הנדרשות. הן התוכנה והן מסד הנתונים מותקנים באותו המחשב. למעשה מדובר על מערכת בעלת שכבה אחת.

חלוקת התכנית לשכבות , מדוע ? המשך עברו חלפו השנים והחנות גדלה, ממכולת שכונתית קטנה הפכה החנות למינימרקט, ויש צורך בעמדות קופה נוספות. ניסינו לקחת את התוכנה ואת מסד הנתונים ולהתקינם כמות שהם על המחשבים הנוספים.

חלוקת התכנית לשכבות , מדוע ? המשך ... מסד הנתונים לא היה משותף ולכן נוצרו בעיות רבות. לדוגמה: בכל פעם שנוצר הצורך לעדכן את מחירי המוצרים צריך היה לעדכן בכל אחד מהמחשבים בנפרד. לא ניתן היה לדעת מה המלאי האמיתי שקיים בחנות.

חלוקת התכנית לשכבות , מדוע ? המשך ... אז חיפשנו פיתרון טוב והגיוני יותר, הפרדנו את מסד הנתונים מהמחשבים והעברנו אותו לשרת המשותף לכולם:

חלוקת התכנית לשכבות , מדוע ? המשך... חלפו ועברו להן עוד שנים העסקים האירו פניהם לבעל המכולת המאושר , העסק התרחב עוד יותר , וממינימרקט הוא הפך להיות רשת סופרמרקטים גדולה ועניפה. כמובן נוצרו צרכים חדשים ועימם בעיות חדשות, לדוגמה : כמות המידע היא ענקית ומסד הנתונים כבר לא היה חזק דיו על מנת לשרת את מאות המחשבים והקופות הרושמות אשר בסופרים השונים. היה צורך בתקשורת בין הסניפים, רצון להקים אתר מכירות באינטרנט, והמסד נתונים כשל לא אחת עקב העומס הרב, צריך דחוף להחליף את מסד הנתונים לאחד שמסוגל לעבד כמויות גדולות מאוד של מידע.

חלוקת התכנית לשכבות , מדוע ? המשך... התקנו מסד נתונים חדש, מהיר וחזק בשרת, ופתאום כל המחשבים ברשת חדלו מלפעול. מדוע? משום שהתוכנות שיודעות להתחבר לעבוד מול מסד נתונים מסוג אחד, אינן יודעות כיצד להתחבר ולעבוד מול מסד נתונים אחר, וכמובן צריך היה לשנות את התוכניות אשר יושבות במחשבים בסופרים ולהתקינן מחדש בכל אחד מ- 137 הסניפים של הרשת, סה"כ עודכנו 3743 מחשבים בתוכנה החדשה, כאב ראש לא קטן.

חלוקת התכנית לשכבות , מדוע ? המשך... האם ניתן היה מראש למנוע את כל שרשרת הבעיות, תקלות וכאבי הראש הללו? כמובן, באמצעות חלוקת התוכנית לשכבות ייעודיות.

חלוקת התכנית לשכבות , מדוע ? מודל שלוש השכבות בפיתוח יישומים המודל מחלק כל יישום לשלושה רבדים : שכבת התצוגה (Presentation layer) או ממשק המשתמש (User interface) שכבת הביניים – הלוגיקה העסקית Business Logic Layer שכבת המידע – מסד הנתונים + Data Access layer

חלוקת התכנית לשכבות , מדוע ? מודל שלוש השכבות בפיתוח יישומים יתרונות גמישות מערכת , כך שניתן לשדרג כל אחת מהשכבות ללא תלות בשכבה אחרת. קלות פיתוח המערכת. עדכון קוד התכנית הוא פשוט ומרוכז במקום אחד. שימוש חוזר בקוד הופך את היישום לקטן ופשוט יותר. תחזוקת המערכת פשוטה יותר.

חלוקת התכנית לשכבות , מדוע ? השכבות. דוגמה.

השכבות שכבת התצוגה – Presentation Layer שכבת התצוגה מכילה את רכיבי ממשק המשתמש , שכבה זו יכולה להיות מחלקה המנהלת את הקלט והפלט בממשק טקסטואלי (Console Application) או בממשק משתמש גרפי טופס ביישום חלונות (Windows Application ) או דף Application) ASP.NET (Web . בהרבה מערכות שכבת התצוגה מורכבת גם מ- Windows Forms וגם מ- Web Forms . תפקיד הממשק הגרפי לספק ממשק משתמש ברור וידידותי. שכבת התצוגה תטפל רק בקלט והפלט מהמשתמש ולא תכיל קטעי קוד ארוכים שאינם מטפלים בממשק המשתמש ( טופס רישום לקוח , רשימת המוצרים ומחיריהם , עגלת קניות ועוד).

השכבות שכבת הביניים – Business Logic שכבת הביניים מהווה את הלוגיקה העסקית (Business Logic Layer ) ביישום ומכילה את המחלקות חישוב עלות סל הקניות , עלות משלוח ועוד. שכבת המידע – Data Access Layer השכבה השלישית , שכבת המידע Data Access layer מכילה את מסד הנתונים הכולל את נתוני החנות קטלוג מוצרים , מלאי , מאגר לקוחות ועוד ובנוסף את כל הקוד הנדרש לקריאת הנתונים או עידכונם במסד הנתונים.

השכבות חלוקת היישום לשכבות מאפשרת להגדיר תפקיד לכל חלק ביישום בצורה ברורה יותר. שינויים המתבצעים בשכבה אינן מחייבים שינויים בשכבות אחרות. לדוגמה: שינוי מסד הנתונים יגרור שינויים רק ב- DAL, שאר השכבות מנותקות ממסד הנתונים ולכן לא יושפען.

חלוקת התכנית לשכבות , מדוע ? השכבות. דוגמה.

דוגמה דוגמא משחק מילים – התליין על המסך מוצגת מילה והשחקן צריך לנחש את המילה בששה ניסיונות . בשלב ראשון השחקן בוחר נושא , המחשב בוחר באופן אקראי מילה ממאגר מילים, על המסך יוצגו מספר האותיות , בכל שלב שבו השחקן מגלה אות שגויה יתווסף על עמוד התליה , המשחק מסתיים כאשר השחקן ניחש את המילה או לאחר 6 כשלונות יוצג עמוד התלייה.

דוגמה דוגמא משחק מילים - התליין

דוגמה שכבת התצוגה השכבה הראשונה שכבת התצוגה מכילה את ממשק המשתמש בדוגמא של המשחק ממשק המשתמש רצוי שיהיה גרפי, צבעוני וקל להבנה ולכן ממשק המשתמש יהיה ממשק חלונאי (Windows Application) או טופס ASP.NET (Web Application ) הממשק יכיל את רכיבי התצוגה בטופס.

דוגמה שכבת הביניים שכבת הביניים מגדירה את הלוגיקה, שכבה זו תכיל מספר מחלקות : משחק – המחלקה תכיל את המילה, מספר ניחושים נכונים ומספר ניחושים שגויים. שירות מילים – המחלקה תכיל את רשימת המילים לפי הנושא הנבחר ותטפל באחזור מילה חדשה מרשימת המילים , טעינת רשימת המילים ממאגר המילים לפי הנושא הנבחר.

דוגמה שכבת המידע השכבה השלישית , שכבת המידע - Data Access layer מכילה את מסד הנתונים הכולל את טבלת סוגי המילים ואת טבלת המילים ואת המחלקות המטפלות בגישה למסד הנתונים.

דוגמה

דוגמה דוגמה נוספת - Login התחברות (Login) ורישום של משתמש במערכת. התסריט: משתמש חדש מנסה להיכנס למערכת, מכיוון שהוא אינו רשום בה הוא מופנה לחלון אשר מבקש ממנו להירשם , המידע שהמשתמש מקליד נשמר במסד הנתונים, ולהבא המשתמש יוכל להתחבר למערכת על ידי שם משתמש וסיסמה. כל המידע מועבר מוצפן.

דוגמה הדיאגרמה :

דוגמה התהליך – ממשק המשתמש : משתמש מקליד שם משתמש וסיסמה בממשק המשתמש. ממשק המשתמש בודק שאכן הוקלד מידע כלשהוא ושהוא חוקי ברמת המבנה (אורך המחרוזת לדוגמה). ממשק המשתמש מצפין את המידע ושולח אותו לשרת. ממשק המשתמש לא בודק את תוכן המידע.

דוגמה התהליך – שכבת הביניים : שכבת הביניים מתרחשת בשרת. המידע שמגיע משכבת התצוגה עובר פענוח. שכבת הביניים מבקשת מידע משכבת המידע, האם קיים משתמש שפרטיו נתקבלו. שכבת הביניים פונה למסד הנתונים ומריצה שאילתה, מקבלת תשובה ושולחת אותו חזרה לשכבת הביניים. שכבת הביניים בודקת את התשובה משכבת המידע ובמידה וקיים כזה משתמש אז היא מאפשרת לו להתחבר למערכת. במידה ולא קיים, המשתמש מתבקש לעבור תהליך רישום.

דוגמה התהליך – שכבת המידע : מקבלת מידע משכבת הביניים. מריצה שאילתה על מסד הנתונים. מקבלת אוסף נתונים ומחזירה אותם לשכבת הביניים. במקרה של רישום משתמש חדש, השכבה מקבלת את הנתונים ומעדכנת את מסד הנתונים בפרטיו.