دانشکده کامپیوتر دانشگاه صنعتی شریف

Slides:



Advertisements
Similar presentations
Java Servlets Java Server Pages (JSP)
Advertisements

 2003 Prentice Hall, Inc. All rights reserved. Chapter 24: Servlets Outline 24.1 Introduction 24.2 Servlet Overview and Architecture Interface.
An architecture for webb applications, J2EE
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL.
ISYS 546 Client/Server Database Application Development.
WEB1P servintro1 Introduction to servlets and JSP Dr Jim Briggs.
BICS546 Client/Server Database Application Development.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
CS-422 Enterprise Computing Preview. Client Server Strategies CGI (Common Gateway Interface) Active Server Pages –Personal Home Pages (PHP) –MS Active.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
8 Server Side Scripting.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Web-based Software Development - An introduction.
Java Vs .Net Presented By, Naveen Kumar Ratkal.
Microsoft.Net vs. J2EE Suresh Ramachandran Duke Energy.
Development Platforms Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
J2EE /.NET Liz Farricker Whitney Mayoras Patrick Bailey.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Modern Software Technologies Java™, J2EE™, JSP™, JDBC™ by Radoslav Tr. Ivanov
Web Application Programming Carol Wolf Computer Science.
Java Servlets CS-422. Application Mapping Your servlet application will be mapped to a directory structure: –“myapp” maps to some directory C:/docs/apps/myapp.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Standalone Java Application vs. Java Web Application
Web Server Programming 1. Nuts and Bolts. Premises of Course Provides general introduction, no in-depth training Assumes some HTML knowledge Assumes some.
CIS 451: ASP.NET Concepts Dr. Ralph D. Westfall January, 2009.
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
DotNet Vs. J2EE Mosaad Alomery CIS Mosaad Alomery - CIS 764 the internet platform –Services Electronic commerce Communications ( , news, chat,
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
3/6/00jsp00 1 Java Server Pages Nancy McCracken Northeast Parallel Architectures Center at Syracuse University.
IBM Office Connect 3.0 James Edmiston Consultant Quest Information Systems, Inc Mike Terrell IT Specialist IBM Data.
An Introduction to JavaServer™ Pages Prepared by Nicole Swan.
An Introduction to JavaServer™ Pages Prepared by Nicole Swan.
Microsoft.Net vs. J2EE. J2EE – Enterprise Java  J2EE: Java 2 Enterprise Edition  Superset of Java 2 Standard Edition (J2SE)  Adds enterprise features.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Database Connectivity and Server-Side Scripting Chapter 12.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
CSI 3125, Preliminaries, page 1 JSP (Java Server Pages)
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
The Holmes Platform and Applications
Chapter 13 Web Application Infrastructure
Java Server Pages Can web pages be created specially for each user?
Suresh Ramachandran Duke Energy
Web-based Software Development - An introduction
Database Applications Using Internet Technology
Topic 10: Design Elements
MSIS 655 Advanced Business Applications Programming
Web Development Using ASP .NET
Distributed System Using Java 2 Enterprise Edition (J2EE)
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
J2EE Lecture 1:Servlet and JSP
CS-422 Enterprise Computing Preview. Client Server Strategies CGI (Common Gateway Interface) Active Server Pages –Personal Home Pages (PHP) –MS Active.
Java Chapter 7 (Estifanos Tilahun Mihret--Tech with Estif)
Presentation transcript:

دانشکده کامپیوتر دانشگاه صنعتی شریف J2EE آیلی رییسی 81138206 دانشکده کامپیوتر دانشگاه صنعتی شریف آذر 84

J2EE J2EE استاندارد ایده آل شركت سان مايكروسيستمز است براي توليد يك Application Server. استانداردی را برای توسعه کاربردهای Enterprise با معماری چند لایه تعریف می کند. مجموعه کاملی از خدمات را در اختیار اجزای مختلف یک کاربرد Enterprise قرار می دهد.

J2EE J2EE Application Server وContainerها چهارچوب مناسب را برای سرویسهای application فراهم می کند. یک API بین مولفه ها و application server تعریف می کند.

منظور از سازگاری با J2EE چیست؟ یک نرم افزار کاربردی که برای یک مشخصه خاص نوشته می شود می تواندسرویس دهنده های نرم افزارهای کاربردی سازگار را بدون هیچ تغییری در کدهایش اعمال شود بکار گیرد.

عرضه کنندگان سرویس دهنده نرم افزار کاربردی Company Application Server IBM WebSphere Apple Computer WebObjects Lotus Lotus Domino Haht Software HAHTsite Intertop Intertop Server BEA WebLogic Server Bluestone Software Total-e-Server

Application server يك بستهء نرم افزاري است كه وظيفه اش Application Lifecycle Management است . يعني از ابتداي تولد يك نرم افزار تا انتهاي اتمام توليد ، بايد به تمام نيازهاي نرم افزاري پاسخ دهد . در یکApplication Server از بستر اجراي كد تا وب سرور ، از توابع امنيتي تا بانك اطلاعاتي و ... وجود دارد .

J2EE Application Server Client J2EE Server Web container Browser Servlet JSP Database Application Client Container Application Client EJB container EJB EJB

مراحل ساخت یک Application Server ساختن یک J2EE Appication ساختن یک Enterprise bean ساختن یک Web component تشخیص یکJNDI name برای یک Enterprise bean تشخیص یک Root context برای J2EE Application

ساختن یک Enterprise bean

ساختن یک Web component

تشخیص یک JNDI name

Run the application

استانداردهای J2EE و.Net .net بر اساس proprietary developed استاندارد است وتوسطMicrosoft حمایت می شود. J2EE بر اساس open developed استاندارد است وتوسط sun حمایت می شود.

.NET Development Application ها در .net با زبانهای VB.NET,C#, Delphi.NET نوشته می شود. کدها در MSIL کامپایل می شود. MSIL توسط CLR پیاده سازی می شود.

J2EE Development Application ها با زبان java نوشته می شود. با byte code کامپایل می شود. Byte code توسط JVM اجرا می شود.

مقایسه J2EEو.Net دات نت يعني يك بستر براي ايجاد نرم افزار. دات نت يك "بستر اجراي كد و كتابخانه مقدماتي كلاس" است . دات نت يك FrameWork است و يك محيط توليد نرم افزار + مستنداتي جهت ايجاد ابزارهاي متفرقه توليد نرم افزار . استاندارد J2EE مشخص می کند چگونه با "زبان جاوا" يك FrameWork ايجاد كنيم .

مقایسه J2EEو.Net دات نت و JDK هر دو كتابخانه هاي قدرتمندي هستند كه اغلب نيازهاي پايه براي توليد نرم افزار رو حمايت ميكنند . اما براي توليد نرم افزارهاي بزرگ مقياس هيچكدام كافي نيستند . كاربري دات نت راحت تر است . پيچيدگي هاي دات نت هم كمتر است . نمودار يادگيري جاوا بسيار كم شيب است . در حاليكه يادگيري دات نت خيلي سريعتر است .

Microsoft .NET What is it made of ? (Infrastructure) Windows Operating System Common Language Runtime (CLR) Base Class Library Data and XML ASP.NET Windows Forms Common Language Specification VB C++ C# J# … Visual Studio.NET

Microsoft J2EE What is it made of ? (Infrastructure) Java Technologies External Application

معماری دو لایه در این معماری upgrade کردن client ساده است. server client * در این معماری upgrade کردن client ساده است. Scaleability پایین است.

معماری سه لایه Interface layer Business layer Data layer J2EE برای ساخت application هایی با معماری سه لایه مناسب است. Upgrade کردن سیستم راحت تر است. Scaleability بالا است.

معماری چند لایه در این لایه scaleability بالا است و upgrade کردن سیستم را حت است. قدرت جداسازی دادها بالا است.

General structure of a J2EE multi-tiered application

تکنولوژیهای J2EE JSP Servlet JDBC

JSP چیست؟ Java Server Page تکنولوژی کد جاوا و HTML را با هم ترکیب می کند و یک فایل JSP تولید می کند تا محتویات پویایی را در شبکه ایجاد نماید. + = Java <HTML> JSP

ویرایشگر صفحات JSP را می توان در هر ویرایش گر متنی نوشت، فقط باید مطمئن گردید که سند مورد نظر را با پسوند JSP ذخیره می نمایید. JSP ها را در برنامه Notepad سیستم عامل ویندوز یا emacs سیستم عامل Unix می توان نوشت.

مزایای JSP از آنجایی که صفحات JSP از زبان برنامه نویسی جاوا استفاده می کنند می تواند بدون هیچگونه تغییری در هر سرویس دهنده کاربردی که صفحات JSP را پشتیبانی می کند، اجرا شود. JSP ها می توانند از تگهای کتابخانه ای استفاده کنند. JSP ها از تگهایی که به صورت مشابه HTML و XML وجود دارد، برای درج متنهای پویا استفاده می کند. جداسازی نقشها در JSP. بار کاری به دو دسته تقسیم می گردد: متنهای گرافیکی صفحه و متنهای پویای صفحه.

انواع تگ: Scriplet Expression Declaration Definitiont

Scriptlet Tags Scriptlet Tags به كمك اين تگها مي توان كد هاي زبان جاوا را درون صفحات JSP نوشت. ساختارهاي كنترلي و يا حلقه هاي تكرار شونده و ساير امكانات زبان جاوا مي تواند در اين قسمت استفاده شود. .

Expression Tag این نوع تگها با علا مت ختم می شوند.با استفاده از این تگها می توان اقدام به نوشتن عبارات ریاضی و محاسباتی نموده و یا مستقیما یک متغیر از پیش تعریف شده را داخل ان نوشت .در این صورت جواب کل عبارت به یک مقدار رشته ای تبدیل شده ونشان داده می شود. <html> <body> <p><%= Integer.toString( 5 * 5 ) %></p> </body> </html> <html> <body> <p>25</p> </body> </html>

Declaration Tag اين نوع تگها كه با علامت ختم می شوند برای نوشتن تعاریف متغییرها و متدها استفاده می شود. <html> <body> <%! public boolean isPositive(int x) { if (x < 0) { return false; } else { return true; } %> </body> </html>

Directive Tag Directive Tags اين تگها براي فرمان دادن به صفحات JSP براي انجام عمليات معين يا رفتار كردن به شيوه خاص به كار مي روند. اين نوع تگها با علامت ختم مي شوند. سه نوع تگ Directive وجود دارد: page,include,taglib web.xml: <taglib> <taglib-uri>/taglib/struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> Example.jsp: <%@ taglib uri=“/taglib/struts-logic” prefix=“logic” %>

مقایسه Jsp و Asp Asp Jsp پشتيباني وب سرور پشتيباني پلتفرم پشتيباني بومي فقط توسط Microsoft IIS و Personal Web Server . پشتيباني براي سرورهاي مشخصي توسط محصولات شركتهاي ثالث بيشتر وب سرورهاي متداول مانند Apache ، Netscape و Microsoft IIS را مي‌توان به JSP مجهز نمود . پشتيباني وب سرور كاملاً‌ توسط ويندوز پشتيباني مي‌شود . پياده‌سازي روي پلتفرمهاي ديگر به دليل وابستگي‌به‌مدل‌مؤلفه Win32 مشكل است. مستقل از پلتفرم ، روي تمام پلتفرمهاي مجهز به جاوا اجرا مي‌شود . پشتيباني پلتفرم از Active Data Object براي دسترسي به داده استفاده مي‌كند . از JDBC براي دسترسي به داده استفاده مي‌كند دسترسی به پایگاه داده VBScript و Jscript زبان برنامه‌نويسي جاوا و JavaScript اسكريپت نويسي مي‌تواند با معماري امنيتي windows NT كار كند. با مدل امنيتي جاوا كار مي‌كند . امنيت

Servlet چیست؟ Servlet یک کلاس جاوا است که واسط Servlet را پیاده سازی می نماید و همچنین درخواستها را پذیرفته و پاسخها را تولید می نماید. این درخواستها می توانند از کلاسهای جاوا، سرویس گیرنده های وب یا Servlet های دیگر بیایند.

چرخه عمر Servlet Finalize() Initialization Destruction init() Instantiation new() Ready Service() Destruction destroy() Finalize() Initialization init() doXXX()

HttpServlet ساختار اصلی یک Httpservlet: init () Service () نوع خاصی از Servlet ها که Httpservlet نام دارند، درخواستهای Http را پذیرفته و پاسخ های Http را تولید مینمایند. ساختار اصلی یک Httpservlet: init () Service () doGet () , dopost

JDBC چیست؟ درایورهای JDBC:کلاس هایی هستند که به وسیله بانکهای اطلاعاتی JDBC یک رابط برنامه سازی کاربردی (APJ ) می باشد که به برنامه های جاوا اجازه میدهد تا به بانک اطلاعاتی متصل شده و با آن تبادل اطلاعات نمایند. هدف از ساخت API در JDBC ایجاد یک روش هماهنگ و استاندارد برای دسترسی به بانکهای اطلاعاتی با روشهای گوناگون می باشد. درایورهای JDBC:کلاس هایی هستند که به وسیله بانکهای اطلاعاتی فراهم می گردند.برنامهای جاوا از این درایورهابرای برقراری ارتباط با یک بانک اطلاعاتی استفاده می نمایند.

معماری

مراحلی که کد JSP طی می کند برای دسترسی به یک بانک اطلا عا تی از طریق JDBC User browses Browser invokes HTML JSP Query / Update ResultSet JDBC SQL rows Database

کلاسها ورابطها در JDBC کلاسDriver کلاسDrivermanager رابط Connection Class forName کلاسDriver کلاسDrivermanager رابط Connection رابط Statement رابط Resultset DriverManager getConnection Connection createStatement Statement ResultSet