SlideShare une entreprise Scribd logo
1  sur  44
Understanding Client-Side Technologies

1
2
Using Thin Clients with HTML and the
JavaScript API
• Exam Objective 7.1 Describe at a high level the basic
characteristics, benefits, and drawbacks of creating thinclients using HTML and JavaScript and the related
deployment issues and solutions.

3
HyperText Markup Language

• HTML is a markup language used to present static content in the
form of web pages.
• JavaScript is different than Java; it is a scripting language used to
provide interactivity in web pages.
• A thin client is an application that is not much more than a user
interface that connects to an enterprise server for its data and
processing.
• HTML and JavaScript are useful for creating user interfaces.
• All the user needs to access an HTML application is a web browse
• HTML and JavaScript provide only limited user interface
components.
4
Thin-Client
+HTML used with JavaScript can create a very rich and
dynamic web site.
+This site can be used as the front-end of an enterprise
application.
• However,
- this application will not have the same feel as a native
application designed for a target environment.
-It will be constrained to run inside a web browser and will
have some limitations as to what can be done with the
user interface.
5
--An advanced or very custom interface may be impossible or
buggy to implement across different web browsers.
--Users must always have a network connection to the enterprise
server that is hosting the web application. There is no possibility
of deploying the application locally on a user’s system.
--If the client system has a slow network connection, the
responsiveness of the web application will suffer.

6
Using J2ME MIDlets
• Exam Objective 7.2 Describe at a high level the basic
characteristics, benefits, drawbacks, and deployment
issues related to creating clients using J2ME midlets.

7
J2ME and MIDlets
• J2ME is a subset of the standard Java APIs.
• The exact subset is dependent on the profile and
configuration of the devices.
• The configuration is a general description of the device. A
profile is used to define the features of a device and may
contain more or less of the Java class libraries based on the
resources of the device.
• A profile may also be different based on available hardware
components.
> For example, an embedded device with no screen would have no

use for the user interface Java class libraries.

8
• Mobile phones and PDAs are the most common places to
use J2ME. These devices use the Mobile Information
Device Profile (MIDP). Applications created with this
profile are often called MIDlets.
• MIDlets can also be used for enterprise applications that
connect to a backend enterprise server.

9
J2ME makes use of configurations and
profiles to classify a nearly infinite
number of devices into a few groups
that share common features
• A configuration is the most basic and general description
of the minimum required Java class libraries and includes
features that the Java Virtual Machine must support

10
there are two J2ME configurations:
Connected Limited Device Configuration
and
Connected Device Configuration.

11
The Connected Limited Device
Configuration (CLDC) is a configuration
used for resource-limited devices.

• It dictates a minimum level of features that the Java Virtual
Machine must provide and contains the most basic Java class
libraries.
• The Mobile Information Device Profile or MIDP is a CLDC
profile.
• It is the profile nearly all mobile phones implement.
• Another common CLDC profile is the Information Module
Profile (IMP). IMP is designed for headless systems.
Embedded control units and vending machines are two
examples of where this profile may be found.
• In general, it is a small subset of MIDP, with its most notable
exclusion being the Java class libraries for creating graphical
user interfaces.
12
The second J2ME configuration is the
Connected Device Configuration (CDC).
• This configuration has a more complete set of Java class
libraries than the CLDC.
• It contains nearly the entire set of Java class libraries from
the standard edition of Java, with the exception of the
user interface libraries.

13
Like the CLDC, the CDC has profiles
that further define the target device .
• The Foundation Profile defines a full implementation of the
Java Virtual Machine and most of the Java class libraries,
excluding the user interface classes.
• The Personal Basis Profile adds the AWT class libraries, in
addition to what the Foundation Profile defines.
• the Personal Profile includes everything contained in the
• previously mentioned profiles, with the addition of support
for applets.

14
• Configurations and profiles are beneficial from a development
perspective because they allow you to group similar, but still
different, devices together and share common code between
them.

15
J2ME Disadvantages
• J2ME does not completely follow the Java motto of “write once, run
anywhere.”
• Mobile and embedded devices vary too much for this to be true.
• Configurations and profiles address this problem to a degree, but the
experienced J2ME developer will still find many nuances that exist
between devices, especially in areas dealing with user interfaces.
• J2ME is not intended for very complex applications. This has more to
do with the intended targeted devices than with this edition of Java.
• J2ME is ideal for creating applications to look up or record simple
information. Creating complex software such as a word processor
would quickly push up against the limitations of the device and J2ME
libraries.
16
J2ME Deployment
• J2ME MIDlets are generally deployed over a network.
They can be manually loaded onto a device, but that isn’t
very useful for a large install base.
• Typically, they will be loaded by a web server, serving
them to clients upon their request.
• A MIDlet on a web server will consist of at least two files:
a Java Application Descriptor, or JAD, and the Java
Archive, or JAR file.
• The JAD file is used to describe the MIDlet. It
• is a text file that contains information such as the MIDlet’s
version, the location of the JAR, the location of the icon (if
it exists), and many other attributes.
17
Using Java Applets as Fat Clients
• Exam Objective 7.3 Describe at a high level the basic
characteristics, benefits, drawbacks, and deployment
issues related to creating fat-clients using Applets.

18
• An applet’s advantage is its ability to be embedded in a
web page but still retain powerful features that would
normally be found in a standard desktop application.
• The main difference between the two is the way the code
is invoked.
• An applet will allow the client to access backend
enterprise servers such as web servers, web services,
and databases.
• It also can make use of advanced Java user interface
elements such as Swing and multimedia libraries for
media playback.
19
Java Applet Disadvantages
• As stated earlier, to execute the applet the Java Virtual
Machine must be used.
• It also must be a current version. If an applet is executed
on an out-of-date Virtual Machine, the applet will attempt
to download the latest version. This may create a
substantial delay in the startup time of the applet.
• Applets have much tighter runtime restrictions than a
standard Java application.
• They also are executed in a sandbox that gives them
limited access to the client-side system.
•
20
• And even if more than one applet is embedded in the same page,
intercommunication is impossible. These restrictions may be
relaxed but the user must agree to it via a prompt from the Java
Virtual Machine.
• Since applets are often located inside web pages, they are not
able to be executed offline.
• The user must have a network connection to the server that
contains the applet.
• If the user does have a network connection but limited
bandwidth, the user may suffer from very slow load times since
the applet is reloaded each time it is run.
• Some cache is available to help speed up this process, but this is
unreliable since it can easily be cleared.
21
Java Applet Deployment
• Applets are easy to deploy. They reside on the web
server and are embedded in the web page. When the
user accesses the web page, as long as the user has the
Java Virtual Machine installed with the Java browser plugin, the applet will load.
• The advantage of this system of deployment is that the
user never needs to install an application.
• From the user’s perspective, they are just visiting a web
page. This also allows the programmer to control the
deployed version of the applet.
• When a new version is released, it can be loaded on the
web server and the next time the user visits the site and
loads the applet, the newer version will be used.
22
Using the Java Swing API as a Fat Client
• Exam Objective 7.4 Describe at a high level the basic
characteristics, benefits, drawbacks, and deployment
issues related to creating fat-clients using Swing.

23
Using the Java Swing API as a Fat
Client

• Swing extends some of the classes of AWT. However,
there is a vast difference on how they render their
components.
• AWT is considered heavyweight.
• This means that they rely on the native system’s
windowing components.
• An AWT component will utilize the native system to
render and control each component used.

24
• Swing does have the advantage of being skin-able. Skin-able
is a term that means the developer can change the look and
feel of Swing without having to modify its components.
• The source code of a component does not require
modification to change its look andfeel. It is distributed with
different skins that give it the appearance of a native
application on different platforms.

25
• Swing is a standard part of J2SE. It allows for the creation of fully
featured desktop applications.
• These applications are often designed to run on a client’s system
just like they run on any other native program—oftentimes being
indistinguishable.
• Swing offers the richest set of user interface components. The
applications have full access to the system they are executed on,
and can feature a complex interface for performing more
demanding tasks.
• The only requirement to run a Swing application is to have the
Java Virtual Machine installed.
• It does not require a network connection unless it is required to
connect to a server during runtime.
26
Java Swing API Disadvantages
• Swing has default skins that resemble the native look of many
platforms. However, users still may notice subtle differences
between a Swing application and a native
• or AWT one.
• Since Swing is a full-blown toolkit for creating user interfaces, it
may not run as well on older hardware or systems that have
limited resources.
• If your application is simple, sometimes a full Swing application
introduces more complexity to a project than needed.
• It may be easier for the developer, and user, to create a simple
web application with an HTML interface
27
Java Swing API Deployment
• The first method, and the traditional method, is to release
your software as a package distributed by CD or for
download over the network. The user will then run some
form of installer to load the software onto their system.
This is good if the software rarely changes.The user
will have the software on their computer and will not have
to worry about having a good network connection or
reloading it from the enterprise server every time.

28
• The second way to deploy a Swing application is to use
Java Web Start.
• Java Web Start is a technology developed by Sun
Microsystems to deploy Java applications like a Java
applet. It allows a full desktop application to be launched
from a web browser.
• Like an applet, it downloads all of the required files from a
remote server. However, unlike an applet, it does not run
inside the browser.
• It runs on the system similar to a native application. By
default, a Web Start application is restricted from
accessing the local file system and is limited as to which
remote servers it can connect to.
• These restrictions can be overcome if the user allows it.
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

Contenu connexe

Tendances

IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET Journal
 
JEE Course - EJB
JEE Course - EJBJEE Course - EJB
JEE Course - EJBodedns
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSSenthil Kanth
 
Free EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsFree EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsVirtual Nuggets
 
Integrated Services for Web Applications
Integrated Services for Web ApplicationsIntegrated Services for Web Applications
Integrated Services for Web ApplicationsSaltmarch Media
 
Jee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule FinancialJee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule FinancialRule_Financial
 
X pages jumpstart jmp101
X pages jumpstart jmp101X pages jumpstart jmp101
X pages jumpstart jmp101pdhannan
 
DB2 z/OS & Java - What\'s New?
DB2 z/OS & Java - What\'s New?DB2 z/OS & Java - What\'s New?
DB2 z/OS & Java - What\'s New?Laura Hood
 
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerEffective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerAnt Phillips
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-finalRohit Kelapure
 
Advanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message BrokerAdvanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message BrokerAnt Phillips
 
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerIntroduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerAnt Phillips
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationIMC Institute
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007Edoardo Schepis
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)blahap
 
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message BrokerMobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message BrokerAnt Phillips
 

Tendances (18)

IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
 
JEE Course - EJB
JEE Course - EJBJEE Course - EJB
JEE Course - EJB
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMS
 
Free EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggetsFree EJB Tutorial | VirtualNuggets
Free EJB Tutorial | VirtualNuggets
 
Integrated Services for Web Applications
Integrated Services for Web ApplicationsIntegrated Services for Web Applications
Integrated Services for Web Applications
 
Jee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule FinancialJee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule Financial
 
X pages jumpstart jmp101
X pages jumpstart jmp101X pages jumpstart jmp101
X pages jumpstart jmp101
 
DB2 z/OS & Java - What\'s New?
DB2 z/OS & Java - What\'s New?DB2 z/OS & Java - What\'s New?
DB2 z/OS & Java - What\'s New?
 
Worklight Overview
Worklight OverviewWorklight Overview
Worklight Overview
 
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerEffective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
 
Advanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message BrokerAdvanced Pattern Authoring with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message Broker
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message BrokerIntroduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message Broker
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web Application
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
 
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message BrokerMobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
 

En vedette

chap 8 : The java.lang and java.util Packages (scjp/ocjp)
chap 8 : The java.lang and java.util Packages (scjp/ocjp)chap 8 : The java.lang and java.util Packages (scjp/ocjp)
chap 8 : The java.lang and java.util Packages (scjp/ocjp)It Academy
 
chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)
chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)
chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)It Academy
 
Chapter8:Understanding Polymorphism
Chapter8:Understanding PolymorphismChapter8:Understanding Polymorphism
Chapter8:Understanding PolymorphismIt Academy
 
chap 2 : Operators and Assignments (scjp/ocjp)
chap 2 : Operators and Assignments (scjp/ocjp)chap 2 : Operators and Assignments (scjp/ocjp)
chap 2 : Operators and Assignments (scjp/ocjp)It Academy
 
Chapter 6:Working with Classes and Their Relationships
Chapter 6:Working with Classes and Their RelationshipsChapter 6:Working with Classes and Their Relationships
Chapter 6:Working with Classes and Their RelationshipsIt Academy
 
Chapter 9:Representing Object-Oriented Concepts with UML
Chapter 9:Representing Object-Oriented Concepts with UMLChapter 9:Representing Object-Oriented Concepts with UML
Chapter 9:Representing Object-Oriented Concepts with UMLIt Academy
 
chap 7 : Threads (scjp/ocjp)
chap 7 : Threads (scjp/ocjp)chap 7 : Threads (scjp/ocjp)
chap 7 : Threads (scjp/ocjp)It Academy
 
Chapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesChapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesIt Academy
 
Chap 9 : I/O and Streams (scjp/ocjp)
Chap 9 : I/O and Streams (scjp/ocjp)Chap 9 : I/O and Streams (scjp/ocjp)
Chap 9 : I/O and Streams (scjp/ocjp)It Academy
 
Chapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class ConstructionChapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class ConstructionIt Academy
 
chap4 : Converting and Casting (scjp/ocjp)
chap4 : Converting and Casting (scjp/ocjp)chap4 : Converting and Casting (scjp/ocjp)
chap4 : Converting and Casting (scjp/ocjp)It Academy
 
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesChapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesIt Academy
 
Chapter 3 : Programming with Java Operators and Strings
Chapter 3 : Programming with Java Operators and  StringsChapter 3 : Programming with Java Operators and  Strings
Chapter 3 : Programming with Java Operators and StringsIt Academy
 
Chapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class InheritanceChapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class InheritanceIt Academy
 
Chapter 3:Programming with Java Operators and Strings
Chapter 3:Programming with Java Operators and  StringsChapter 3:Programming with Java Operators and  Strings
Chapter 3:Programming with Java Operators and StringsIt Academy
 

En vedette (19)

chap 8 : The java.lang and java.util Packages (scjp/ocjp)
chap 8 : The java.lang and java.util Packages (scjp/ocjp)chap 8 : The java.lang and java.util Packages (scjp/ocjp)
chap 8 : The java.lang and java.util Packages (scjp/ocjp)
 
Chapter 1 :
Chapter 1 : Chapter 1 :
Chapter 1 :
 
chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)
chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)
chap4 ; Flow Control, Assertions, and Exception Handling (scjp/ocjp)
 
Chapter8:Understanding Polymorphism
Chapter8:Understanding PolymorphismChapter8:Understanding Polymorphism
Chapter8:Understanding Polymorphism
 
chap 2 : Operators and Assignments (scjp/ocjp)
chap 2 : Operators and Assignments (scjp/ocjp)chap 2 : Operators and Assignments (scjp/ocjp)
chap 2 : Operators and Assignments (scjp/ocjp)
 
Chapter 6:Working with Classes and Their Relationships
Chapter 6:Working with Classes and Their RelationshipsChapter 6:Working with Classes and Their Relationships
Chapter 6:Working with Classes and Their Relationships
 
Dunya gokyuzu
Dunya gokyuzuDunya gokyuzu
Dunya gokyuzu
 
Chapter 9:Representing Object-Oriented Concepts with UML
Chapter 9:Representing Object-Oriented Concepts with UMLChapter 9:Representing Object-Oriented Concepts with UML
Chapter 9:Representing Object-Oriented Concepts with UML
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
chap 7 : Threads (scjp/ocjp)
chap 7 : Threads (scjp/ocjp)chap 7 : Threads (scjp/ocjp)
chap 7 : Threads (scjp/ocjp)
 
Chapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side TechnologiesChapter 12:Understanding Server-Side Technologies
Chapter 12:Understanding Server-Side Technologies
 
Chap 9 : I/O and Streams (scjp/ocjp)
Chap 9 : I/O and Streams (scjp/ocjp)Chap 9 : I/O and Streams (scjp/ocjp)
Chap 9 : I/O and Streams (scjp/ocjp)
 
Chapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class ConstructionChapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class Construction
 
chap4 : Converting and Casting (scjp/ocjp)
chap4 : Converting and Casting (scjp/ocjp)chap4 : Converting and Casting (scjp/ocjp)
chap4 : Converting and Casting (scjp/ocjp)
 
3 boyutlu cisimler
3 boyutlu cisimler3 boyutlu cisimler
3 boyutlu cisimler
 
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesChapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration Technologies
 
Chapter 3 : Programming with Java Operators and Strings
Chapter 3 : Programming with Java Operators and  StringsChapter 3 : Programming with Java Operators and  Strings
Chapter 3 : Programming with Java Operators and Strings
 
Chapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class InheritanceChapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class Inheritance
 
Chapter 3:Programming with Java Operators and Strings
Chapter 3:Programming with Java Operators and  StringsChapter 3:Programming with Java Operators and  Strings
Chapter 3:Programming with Java Operators and Strings
 

Similaire à Chapter 11:Understanding Client-Side Technologies

Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to MicroservicesKyle Brown
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music storeADEEBANADEEM
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkNeha Singh
 
2 d barcode based mobile payment system
2 d barcode based mobile payment system2 d barcode based mobile payment system
2 d barcode based mobile payment systemParag Tamhane
 
198970820 p-oooooooooo
198970820 p-oooooooooo198970820 p-oooooooooo
198970820 p-oooooooooohomeworkping4
 
Java Training in Chennai
Java Training in Chennai Java Training in Chennai
Java Training in Chennai raj esaki
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to strutsAnup72
 
Java training in bangalore
Java training in bangaloreJava training in bangalore
Java training in bangalorezasi besant
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)Niraj Solanke
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singhSudeep Singh
 
Java Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,CoimbatoreJava Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,CoimbatoreGateway Software Solutions
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsChris Bailey
 

Similaire à Chapter 11:Understanding Client-Side Technologies (20)

Introduction to Spring & Spring BootFramework
Introduction to Spring  & Spring BootFrameworkIntroduction to Spring  & Spring BootFramework
Introduction to Spring & Spring BootFramework
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
 
Java Spring
Java SpringJava Spring
Java Spring
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
2 d barcode based mobile payment system
2 d barcode based mobile payment system2 d barcode based mobile payment system
2 d barcode based mobile payment system
 
Chapter2 j2ee
Chapter2 j2eeChapter2 j2ee
Chapter2 j2ee
 
198970820 p-oooooooooo
198970820 p-oooooooooo198970820 p-oooooooooo
198970820 p-oooooooooo
 
J2ME Unit_01
J2ME Unit_01J2ME Unit_01
J2ME Unit_01
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Java Training in Chennai
Java Training in Chennai Java Training in Chennai
Java Training in Chennai
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
E farming
E farmingE farming
E farming
 
Enterprice java
Enterprice javaEnterprice java
Enterprice java
 
J2ME
J2MEJ2ME
J2ME
 
Java training in bangalore
Java training in bangaloreJava training in bangalore
Java training in bangalore
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
 
Java Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,CoimbatoreJava Training at Gateway Software Solutions,Coimbatore
Java Training at Gateway Software Solutions,Coimbatore
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java Tools
 

Plus de It Academy

Chapter 4:Object-Oriented Basic Concepts
Chapter 4:Object-Oriented Basic ConceptsChapter 4:Object-Oriented Basic Concepts
Chapter 4:Object-Oriented Basic ConceptsIt Academy
 
Chapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java StatementsChapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java StatementsIt Academy
 
chap 10 : Development (scjp/ocjp)
chap 10 : Development (scjp/ocjp)chap 10 : Development (scjp/ocjp)
chap 10 : Development (scjp/ocjp)It Academy
 
chap 6 : Objects and classes (scjp/ocjp)
chap 6 : Objects and classes (scjp/ocjp)chap 6 : Objects and classes (scjp/ocjp)
chap 6 : Objects and classes (scjp/ocjp)It Academy
 
chp 3 : Modifiers (scjp/ocjp)
chp 3 : Modifiers (scjp/ocjp)chp 3 : Modifiers (scjp/ocjp)
chp 3 : Modifiers (scjp/ocjp)It Academy
 
Chap1 language fondamentale of java ( scjp /ocjp)
Chap1 language fondamentale of java ( scjp /ocjp)Chap1 language fondamentale of java ( scjp /ocjp)
Chap1 language fondamentale of java ( scjp /ocjp)It Academy
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof frIt Academy
 

Plus de It Academy (7)

Chapter 4:Object-Oriented Basic Concepts
Chapter 4:Object-Oriented Basic ConceptsChapter 4:Object-Oriented Basic Concepts
Chapter 4:Object-Oriented Basic Concepts
 
Chapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java StatementsChapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java Statements
 
chap 10 : Development (scjp/ocjp)
chap 10 : Development (scjp/ocjp)chap 10 : Development (scjp/ocjp)
chap 10 : Development (scjp/ocjp)
 
chap 6 : Objects and classes (scjp/ocjp)
chap 6 : Objects and classes (scjp/ocjp)chap 6 : Objects and classes (scjp/ocjp)
chap 6 : Objects and classes (scjp/ocjp)
 
chp 3 : Modifiers (scjp/ocjp)
chp 3 : Modifiers (scjp/ocjp)chp 3 : Modifiers (scjp/ocjp)
chp 3 : Modifiers (scjp/ocjp)
 
Chap1 language fondamentale of java ( scjp /ocjp)
Chap1 language fondamentale of java ( scjp /ocjp)Chap1 language fondamentale of java ( scjp /ocjp)
Chap1 language fondamentale of java ( scjp /ocjp)
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof fr
 

Dernier

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Dernier (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Chapter 11:Understanding Client-Side Technologies

  • 2. 2
  • 3. Using Thin Clients with HTML and the JavaScript API • Exam Objective 7.1 Describe at a high level the basic characteristics, benefits, and drawbacks of creating thinclients using HTML and JavaScript and the related deployment issues and solutions. 3
  • 4. HyperText Markup Language • HTML is a markup language used to present static content in the form of web pages. • JavaScript is different than Java; it is a scripting language used to provide interactivity in web pages. • A thin client is an application that is not much more than a user interface that connects to an enterprise server for its data and processing. • HTML and JavaScript are useful for creating user interfaces. • All the user needs to access an HTML application is a web browse • HTML and JavaScript provide only limited user interface components. 4
  • 5. Thin-Client +HTML used with JavaScript can create a very rich and dynamic web site. +This site can be used as the front-end of an enterprise application. • However, - this application will not have the same feel as a native application designed for a target environment. -It will be constrained to run inside a web browser and will have some limitations as to what can be done with the user interface. 5
  • 6. --An advanced or very custom interface may be impossible or buggy to implement across different web browsers. --Users must always have a network connection to the enterprise server that is hosting the web application. There is no possibility of deploying the application locally on a user’s system. --If the client system has a slow network connection, the responsiveness of the web application will suffer. 6
  • 7. Using J2ME MIDlets • Exam Objective 7.2 Describe at a high level the basic characteristics, benefits, drawbacks, and deployment issues related to creating clients using J2ME midlets. 7
  • 8. J2ME and MIDlets • J2ME is a subset of the standard Java APIs. • The exact subset is dependent on the profile and configuration of the devices. • The configuration is a general description of the device. A profile is used to define the features of a device and may contain more or less of the Java class libraries based on the resources of the device. • A profile may also be different based on available hardware components. > For example, an embedded device with no screen would have no use for the user interface Java class libraries. 8
  • 9. • Mobile phones and PDAs are the most common places to use J2ME. These devices use the Mobile Information Device Profile (MIDP). Applications created with this profile are often called MIDlets. • MIDlets can also be used for enterprise applications that connect to a backend enterprise server. 9
  • 10. J2ME makes use of configurations and profiles to classify a nearly infinite number of devices into a few groups that share common features • A configuration is the most basic and general description of the minimum required Java class libraries and includes features that the Java Virtual Machine must support 10
  • 11. there are two J2ME configurations: Connected Limited Device Configuration and Connected Device Configuration. 11
  • 12. The Connected Limited Device Configuration (CLDC) is a configuration used for resource-limited devices. • It dictates a minimum level of features that the Java Virtual Machine must provide and contains the most basic Java class libraries. • The Mobile Information Device Profile or MIDP is a CLDC profile. • It is the profile nearly all mobile phones implement. • Another common CLDC profile is the Information Module Profile (IMP). IMP is designed for headless systems. Embedded control units and vending machines are two examples of where this profile may be found. • In general, it is a small subset of MIDP, with its most notable exclusion being the Java class libraries for creating graphical user interfaces. 12
  • 13. The second J2ME configuration is the Connected Device Configuration (CDC). • This configuration has a more complete set of Java class libraries than the CLDC. • It contains nearly the entire set of Java class libraries from the standard edition of Java, with the exception of the user interface libraries. 13
  • 14. Like the CLDC, the CDC has profiles that further define the target device . • The Foundation Profile defines a full implementation of the Java Virtual Machine and most of the Java class libraries, excluding the user interface classes. • The Personal Basis Profile adds the AWT class libraries, in addition to what the Foundation Profile defines. • the Personal Profile includes everything contained in the • previously mentioned profiles, with the addition of support for applets. 14
  • 15. • Configurations and profiles are beneficial from a development perspective because they allow you to group similar, but still different, devices together and share common code between them. 15
  • 16. J2ME Disadvantages • J2ME does not completely follow the Java motto of “write once, run anywhere.” • Mobile and embedded devices vary too much for this to be true. • Configurations and profiles address this problem to a degree, but the experienced J2ME developer will still find many nuances that exist between devices, especially in areas dealing with user interfaces. • J2ME is not intended for very complex applications. This has more to do with the intended targeted devices than with this edition of Java. • J2ME is ideal for creating applications to look up or record simple information. Creating complex software such as a word processor would quickly push up against the limitations of the device and J2ME libraries. 16
  • 17. J2ME Deployment • J2ME MIDlets are generally deployed over a network. They can be manually loaded onto a device, but that isn’t very useful for a large install base. • Typically, they will be loaded by a web server, serving them to clients upon their request. • A MIDlet on a web server will consist of at least two files: a Java Application Descriptor, or JAD, and the Java Archive, or JAR file. • The JAD file is used to describe the MIDlet. It • is a text file that contains information such as the MIDlet’s version, the location of the JAR, the location of the icon (if it exists), and many other attributes. 17
  • 18. Using Java Applets as Fat Clients • Exam Objective 7.3 Describe at a high level the basic characteristics, benefits, drawbacks, and deployment issues related to creating fat-clients using Applets. 18
  • 19. • An applet’s advantage is its ability to be embedded in a web page but still retain powerful features that would normally be found in a standard desktop application. • The main difference between the two is the way the code is invoked. • An applet will allow the client to access backend enterprise servers such as web servers, web services, and databases. • It also can make use of advanced Java user interface elements such as Swing and multimedia libraries for media playback. 19
  • 20. Java Applet Disadvantages • As stated earlier, to execute the applet the Java Virtual Machine must be used. • It also must be a current version. If an applet is executed on an out-of-date Virtual Machine, the applet will attempt to download the latest version. This may create a substantial delay in the startup time of the applet. • Applets have much tighter runtime restrictions than a standard Java application. • They also are executed in a sandbox that gives them limited access to the client-side system. • 20
  • 21. • And even if more than one applet is embedded in the same page, intercommunication is impossible. These restrictions may be relaxed but the user must agree to it via a prompt from the Java Virtual Machine. • Since applets are often located inside web pages, they are not able to be executed offline. • The user must have a network connection to the server that contains the applet. • If the user does have a network connection but limited bandwidth, the user may suffer from very slow load times since the applet is reloaded each time it is run. • Some cache is available to help speed up this process, but this is unreliable since it can easily be cleared. 21
  • 22. Java Applet Deployment • Applets are easy to deploy. They reside on the web server and are embedded in the web page. When the user accesses the web page, as long as the user has the Java Virtual Machine installed with the Java browser plugin, the applet will load. • The advantage of this system of deployment is that the user never needs to install an application. • From the user’s perspective, they are just visiting a web page. This also allows the programmer to control the deployed version of the applet. • When a new version is released, it can be loaded on the web server and the next time the user visits the site and loads the applet, the newer version will be used. 22
  • 23. Using the Java Swing API as a Fat Client • Exam Objective 7.4 Describe at a high level the basic characteristics, benefits, drawbacks, and deployment issues related to creating fat-clients using Swing. 23
  • 24. Using the Java Swing API as a Fat Client • Swing extends some of the classes of AWT. However, there is a vast difference on how they render their components. • AWT is considered heavyweight. • This means that they rely on the native system’s windowing components. • An AWT component will utilize the native system to render and control each component used. 24
  • 25. • Swing does have the advantage of being skin-able. Skin-able is a term that means the developer can change the look and feel of Swing without having to modify its components. • The source code of a component does not require modification to change its look andfeel. It is distributed with different skins that give it the appearance of a native application on different platforms. 25
  • 26. • Swing is a standard part of J2SE. It allows for the creation of fully featured desktop applications. • These applications are often designed to run on a client’s system just like they run on any other native program—oftentimes being indistinguishable. • Swing offers the richest set of user interface components. The applications have full access to the system they are executed on, and can feature a complex interface for performing more demanding tasks. • The only requirement to run a Swing application is to have the Java Virtual Machine installed. • It does not require a network connection unless it is required to connect to a server during runtime. 26
  • 27. Java Swing API Disadvantages • Swing has default skins that resemble the native look of many platforms. However, users still may notice subtle differences between a Swing application and a native • or AWT one. • Since Swing is a full-blown toolkit for creating user interfaces, it may not run as well on older hardware or systems that have limited resources. • If your application is simple, sometimes a full Swing application introduces more complexity to a project than needed. • It may be easier for the developer, and user, to create a simple web application with an HTML interface 27
  • 28. Java Swing API Deployment • The first method, and the traditional method, is to release your software as a package distributed by CD or for download over the network. The user will then run some form of installer to load the software onto their system. This is good if the software rarely changes.The user will have the software on their computer and will not have to worry about having a good network connection or reloading it from the enterprise server every time. 28
  • 29. • The second way to deploy a Swing application is to use Java Web Start. • Java Web Start is a technology developed by Sun Microsystems to deploy Java applications like a Java applet. It allows a full desktop application to be launched from a web browser. • Like an applet, it downloads all of the required files from a remote server. However, unlike an applet, it does not run inside the browser. • It runs on the system similar to a native application. By default, a Web Start application is restricted from accessing the local file system and is limited as to which remote servers it can connect to. • These restrictions can be overcome if the user allows it. 29
  • 30. 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 44. 44