Tuesday, June 23, 2009

About Teir











What
are the advantages of the 3-Tier software architecture?



By
breaking down an application into 3 distinct and separate tiers (or layers) -
the presentation tier, the business logic tier and the data access tier - you
gain advantages in several areas. The Compuware Three Tier Development Guide
(product code 10117038101-00) identifies the following: -



·
Scalability and deployment flexibility -
component roles are specialized, improving maintainability, networking, and I/O
overheads. An application constructed using the 3-Tier software architecture is
an ideal candidate for being deployed on 3 layers of hardware.



·
Component roles are clearly defined
within a 3-tier framework. This provides a good basis for component-based
development and reusability. Components in the business layer can be shared by
any number of components in the presentation layer.



·
Stateless communication between
components in the presentation tier and those in the business logic tier is
ensured using XML.



·
Infrastructure independence is enhanced
by the use of a 3-tier architecture. This is because presentation and data
access - areas that are often infrastructure-dependent are separated from the
application's business logic.



·
A specific set of skills is required for
the development of each tier, so tiers can be developed independently of each
other. For example, the thin presentation tier allows front-end experts to do
their work without being affected by developments taking place in the business
logic tier.



As a
designer/developer I can summarise the benefits as follows:



·
By taking the code which supports
business logic out of the presentation layer and maintaining it in a separate
business layer it is now possible for multiple presentation layer components to
process this business logic by accessing a shared business layer component
instead of having its own local copy of that code. Thus whenever business rules
change there are fewer components to maintain.



·
The components in the business layer can
be shared by different types of component in the presentation layer. These
components are typically UNIFACE Server Pages, forms, and reports, and non-UNIFACE
components, such as Java server pages or Microsoft's Active server pages.




1.
The 1-Tier Structure.



A
component in a 1-Tier structure contains all the code necessary to deal with the
user interface, the data validation, and all communication with the physical
database. Where several components access the same data objects (files, tables
or entities - whatever you want to call them) there can quite a bit of
duplication. Apart from having to spend extra time in the first place to create
components with similar code it also means that any subsequent changes to data
objects or business rules would then require the same code changes to be
replicated in what could turn out to be a large number of components.



Each
new methodology always distinguishes itself by using new words for old ideas, so
as I am from the ‘old school’ I use the following translation table:



o
Presentation logic = User Interface,
displaying data to the user, accepting input from the user.



o
Business logic = Data Validation,
ensuring the data is kosher before being added to the database.



o
Data Access Logic = Database
Communication, accessing tables and indices, packing and unpacking data.



A
component based on the 1-Tier structure can therefore be represented in shown in
figure 1:




Figure 1 - The 1-Tier Structure

























2.
The 2-Tier Structure.



In a
2-Tier structure the logic is split into two tiers (or layers), usually done by
splitting off the data access logic. This results in the structure shown in
figure 2:




Figure 2 - The 2-Tier Structure







This
removes all the complexities of communicating with the database to a separate
layer. It should therefore be possible to switch to a different database system
just by changing the contents of the data layer. Provided that the operations
and signatures with the 1st layer remain consistent there should be
no need to modify any component in the 1st layer.



3.
The 3-Tier Structure.



This
splits each of the three logical areas into its own layer. For this structure to
work effectively there should be clearly defined interfaces between each of the
layers. This should then enable components in one layer to be modified without
requiring changes any changes to components in other layers. One example is
changing the file system from one DBMS to another, or changing the user
interface from one system to another (e.g. from client/server to the web).



The
main advantage of this structure over the 2-Tier system is that all business
logic is contained in its own layer and is shared by many components in the
presentation layer. Any changes to business rules can therefore be made in one
place and be instantly available throughout the whole application.




Figure 3 - The 3-Tier Structure







4.
Where does UNIFACE fit into this
picture?



a.
Background:




Uniface was originally designed around the 3-Schema, 2-Tier architecture.



The
3-Schemas are:



§
The External Schema (ES), or user’s view
of the data (implemented as forms).



§
The Conceptual Schema (CS), or logical
view of the database structure (as referenced within forms).



§
The Physical Schema (PS), or physical
database structure (as referenced by the database driver).



The
Physical Schema does not exist as a separate object, it is held as entity or
field interface definitions within the Conceptual Schema.



A
form (ES) is built by defining which entities from the CS need to be referenced,
then painting the necessary fields within the boundaries of each entity. When a
<read> or <write> trigger is fired control is automatically passed to the
database driver which performs the necessary action on the physical database.



This
can be represented in the structure shown in figure 4:




Figure 4 - UNIFACE and the 2-Tier Structure








Since these early days (I started with version 5 in 1992) Uniface has undergone
a few changes:



§
The Conceptual Schema has been renamed
as the Application Model.



§
Forms have been split into 3 types of
Component - Form components (with user dialog), Service components (without user
dialog), and Report Components.



§
Components can be built from component
templates. Not only does this make the original construction of a component a
lot quicker, but the inheritance of form-level trigger code means that certain
changes can be made once in the template, then automatically included in every
associated component when it is next compiled. I have been using component
templates since May 1997, so I can certainly vouch for their efficacy.



b.
UNIFACE and the 3-Tier structure.



In
order to provide a relatively painless method of splitting the business logic
from the presentation logic in the form component Compuware introduced the
concept of Object Services in Uniface v7.2.04. The UNIFACE view of the 3-tier
structure can be represented by the structure shown in figure 5:




Figure 5 - UNIFACE and the 3-Tier Structure







Each
database entity has its own object service in which all business logic can be
defined. For certain one-to-many relationships it is also possible to create a
single object service for both of those entities. By including the relevant
business rules in each object service it means that these rules need not be
replicated in any form component. Provided that the form’s access to the
database is routed through the object service (there is a data access switch on
each entity within each form), the rules within the object service are instantly
available to the form. As an aid to performance, if several forms in the same
session access the same entity at the same time, they will actually share the
same object service for that entity.



As
well as having the code for the various rules defined in the field or entity
validation triggers within the object service itself it is also possible to move
this code into a separate component which is activated from the object service.
I have tried both approaches with success.



c.
Implementation of Object Services.




Compuware have made the process of creating and using object services very, very
easy. The procedure is as follows:



§
For each entity within the application
model use the pulldown menu to select Edit, Generate Object Service. You will be
prompted for a name - a default is provided, but you may override if you wish.



§
Click the ‘OK’ button and the object
service will automatically be created from a component template (supplied by
Compuware), and the component name will be loaded into the screen.



§
Change the Default Data Access from
‘DBMS Path’ to ‘Object Service’.



§
Provided that the Data Access is not
changed within any form component, when it is next compiled it will switch all
access of that entity to the nominated object service.



For
existing form components that were assembled in a 2-tier structure the only
change that needs to be made to any code is to move the business logic from the
form into the relevant object service. No code needs to be changed in the form
in order to communicate with an object service - it is totally transparent. As
soon as any database trigger is fired on an entity where the Data Access flag
has been set to ‘Object Service’ Uniface will automatically route all activity
through that object service.



d.
Validation via Object Services



The
main difference with using business rules in object services is that field
validation in the form is limited to declarative checking only. All other
validation can only be performed when the <STORE> trigger is fired. This appears
to be a backward step (it reminds me of my days using a block mode user
interface with green screens), but it emulates the behavior of forms that are
deployed on the web. Forms which are constructed in this fashion will therefore
not need massive conversion before being enabled for the web.



If
the idea of data validation ‘en bloc’ is not acceptable in a client/server
environment there is a method of combining the advantages of object services
with the immediacy of field-by-field validation:



§
First, create a new operation in the
object service that contains an occurrence parameter and an optional fieldname
parameter. If the field name is provided then perform the


validatefield

command, otherwise perform the


validateocc

command.



§
Second, create a global proc which
activates the new operation. This would be used in your code as follows:



In a
field’s <LEAVE FIELD> or <VALIDATE FIELD> trigger:


call VLDF_OBJSVC($entname, $fieldname)


In
an entity’s <LEAVE MOD OCC> or <VALIDATE OCC> trigger:


call VLDF_OBJSVC($entname, "")


This
then gives you the ability to perform field-by-field validation without having
the code embedded in the form. I have produced some working examples of this, so
if you would like a copy of my code please contact me using the e-mail address
at the foot of this document.



5.
What is the N-Tier structure?



The
name implies a structure which contains ‘N’ number of tiers where ‘N’ is a
variable number. This is usually achieved by taking a component in one of the
standard layers of the 3-Tier structure and breaking it down into subcomponents,
each performing a specific low-level task.



For
example, the designers of a project with which I am currently acquainted (sadly)
has broken down each of the initial three layers into something which resembles
the structure shown in figure 6:




Figure 6 - Splitting 3 layers into ‘N’ layers







The
function of each of these components is described in the following table:


















































Form



Interacts with the user. Uses the Decorator to read and write all data.



Controller



Controls the flow of a use case, navigating from one form to another in
the correct sequence.



Decorator



Interface between the presentation layer and the business layer. Obtains
data for a form and distributes data from a form when database updates are
required.



Presentation Object



Presentation logic for a use case. Used for logic which is specific to a
use case rather than a business object.



Business Component Interface



One per domain or logical group of entities.



Business Object



Business object for a logical entity. Contains all the business rules for
that entity.



Business Service Bridge



Business component to business component interface.



View



An indexed list of keys for an object.



Translator



Translation between the logical data layer and the physical data layer.



Cache



Holds business data for a use case.



Data Service



Performs physical database IO.




The
resulting structure may appeal to academics, theoreticians and exponents of the
latest fashionable methodologies, but it falls down in one serious respect - it
takes far too long to develop usable software. After a team of 6 people spent 6
months in prototyping, the time came to build the first real use case. It
consisted of two simple screens - one to enter selection criteria and a second
to list the results, using a single database table. It took the team 2 weeks.
Notice I said ‘team’ (6 people) and not ‘developer’ (single person), giving a
total of 12 man-weeks for a simple two-screen use case. Six months later the
level of productivity has increased - it still takes 2 weeks per use case, but
now with just a single developer.




Having spent a life time in a commercial environment where productivity was
always the prime consideration I am used to constructing working transactions in
hours and days, not weeks and months. To put things in perspective the last
project I worked on (albeit an in-house project) required 50 forms accessing 19
database tables with 18 relationships. Using my own ready-made infrastructure
and development standards I designed it in one week, then built and tested it in
four weeks. That’s an average of 2.5 forms per day, but on good days I peaked at
six.



I do
not consider the level of productivity from this new N-Tier architecture to be
acceptable, and I don’t think that many paying customers would either. The
architects of this structure spent too much time in bending UNIFACE to fit their
particular interpretation of the rules. This dogmatic approach diverted their
attention from the real purpose of software development, which is to turn user
requirements into usable software as quickly as possible. This ‘politically
correct’ structure just will not succeed in a competitive market place.


Sunday, June 21, 2009

BizTalk

Microsoft BizTalk Server is a business process management server product by Microsoft which allows software applications to communicate for Enterprise application integration. BizTalk enables companies to integrate and manage business processes by exchanging business documents (e.g., purchase orders and invoices) among applications, within or across organizational boundaries.
BizTalk Server 2004 is SOAP Web Services enabled, and is the first version that uses Microsoft .NET technology.
Development for BizTalk Server is done through Visual Studio .NET.
Versions for Windows
• 2000 - BizTalk Server 2000
• 2002 - BizTalk Server 2002
• 2004 - BizTalk Server 2004
• 2006 - BizTalk Server 2006

Read ON----Little on J2ee technology

Read ON----Little on J2ee technology
What makes J2EE suitable for distributed multitiered Applications?- The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. The J2EE application parts are:
Client-tier components run on the client machine.
Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS server.
What is J2EE? - J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces (APIs), and protocols that provide the functionality for developing multitiered, web-based applications.
What are the components of J2EE application?- A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and communicates with other components. The J2EE specification defines the following J2EE components:
1. Application clients and applets are client components.
2. Java Servlet and JavaServer Pages technology components are web components.
3. Enterprise JavaBeans components (enterprise beans) are business components.
4. Resource adapter components provided by EIS and tool vendors.
What do Enterprise JavaBeans components contain? - Enterprise JavaBeans components contains Business code, which is logicthat solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. All the business code is contained inside an Enterprise Bean which receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program.
Is J2EE application only a web-based? - No, It depends on type of application that client wants. A J2EE application can be web-based or non-web-based. if an application client executes on the client machine, it is a non-web-based J2EE application. The J2EE application can provide a way for users to handle tasks such as J2EE system or application administration. It typically has a graphical user interface created from Swing or AWT APIs, or a command-line interface. When user request, it can open an HTTP connection to establish communication with a servlet running in the web tier.
Are JavaBeans J2EE components? - No. JavaBeans components are not considered J2EE components by the J2EE specification. They are written to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components written for the J2EE platform have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture.
Is HTML page a web component? - No. Static HTML pages and applets are bundled with web components during application assembly, but are not considered web components by the J2EE specification. Even the server-side utility classes are not considered web components, either.
What can be considered as a web component? - J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.
What is the container? - Containers are the interface between a component and the low-level platform specific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE application and deployed into its container.
What are container services? - A container is a runtime support of a system-level entity. Containers provide components with services such as lifecycle management, security, deployment, and threading.
What is the web container? - Servlet and JSP containers are collectively referred to as Web containers. It manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server.
What is Enterprise JavaBeans (EJB) container? - It manages the execution of enterprise beans for J2EE applications.Enterprise beans and their container run on the J2EE server.
What is Applet container? - IManages the execution of applets. Consists of a Web browser and Java Plugin running on the client together.
How do we package J2EE components? - J2EE components are packaged separately and bundled into a J2EE application for deployment. Each component, its related files such as GIF and HTML files or server-side utility classes, and a deployment descriptor are assembled into a module and added to the J2EE application. A J2EE application is composed of one or more enterprise bean,Web, or application client component modules. The final enterprise solution can use one J2EE application or be made up of two or more J2EE applications, depending on design requirements. A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is an XML document with an .xml extension that describes a component’s deployment settings.
What is a thin client? - A thin client is a lightweight interface to the application that does not have such operations like query databases, execute complex business rules, or connect to legacy applications.
What are types of J2EE clients? - Following are the types of J2EE clients:
Applets
Application clients
Java Web Start-enabled rich clients, powered by Java Web Start technology.
Wireless clients, based on Mobile Information Device Profile (MIDP) technology.
What is deployment descriptor? - A deployment descriptor is an Extensible Markup Language (XML) text-based file with an .xml extension that describes a component’s deployment settings. A J2EE application and each of its modules has its own deployment descriptor. For example, an enterprise bean module deployment descriptor declares transaction attributes and security authorizationsfor an enterprise bean. Because deployment descriptor information is declarative, it can be changed without modifying the bean source code. At run time, the J2EE server reads the deployment descriptor and acts upon the component accordingly.
What is the EAR file? - An EAR file is a standard JAR file with an .ear extension, named from Enterprise ARchive file. A J2EE application with all of its modules is delivered in EAR file.
What is JTA and JTS? - JTA is the abbreviation for the Java Transaction API. JTS is the abbreviation for the Jave Transaction Service. JTA provides a standard interface and allows you to demarcate transactions in a manner that is independent of the transaction manager implementation. The J2EE SDK implements the transaction manager with JTS. But your code doesn’t call the JTS methods directly. Instead, it invokes the JTA methods, which then call the lower-level JTS routines. Therefore, JTA is a high level transaction interface that your application uses to control transaction. and JTS is a low level transaction interface and ejb uses behind the scenes (client code doesn’t directly interact with JTS. It is based on object transaction service(OTS) which is part of CORBA.
What is JAXP? - JAXP stands for Java API for XML. XML is a language for representing and describing text-based data which can be read and handled by any program or tool that uses XML APIs. It provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.
What is J2EE Connector? - The J2EE Connector API is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged into any J2EE product. Each type of database or EIS has a different resource adapter. Note: A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager. Because a resource adapter is specific to its resource manager, there is typically a different resource adapter for each type of database or enterprise information system.
What is JAAP? - The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. It is a standard Pluggable Authentication Module (PAM) framework that extends the Java 2 platform security architecture to support user-based authorization.
What is Java Naming and Directory Service? - The JNDI provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object. Because JNDI is independent of any specific implementations, applications can use JNDI to access multiple naming and directory services, including existing naming anddirectory services such as LDAP, NDS, DNS, and NIS.
What is Struts? - A Web page development framework. Struts combines Java Servlets, Java Server Pages, custom tags, and message resources into a unified framework. It is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone between.
How is the MVC design pattern used in Struts framework? - In the MVC design pattern, application flow is mediated by a central Controller. The Controller delegates requests to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application’s business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make an application significantly easier to create and maintain. Controller: Servlet controller which supplied by Struts itself; View: what you can see on the screen, a JSP page and presentation components; Model: System state and a business logic JavaBeans. Read ON----Little on J2ee technology
What makes J2EE suitable for distributed multitiered Applications?- The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. The J2EE application parts are:
Client-tier components run on the client machine.
Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS server.
What is J2EE? - J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces (APIs), and protocols that provide the functionality for developing multitiered, web-based applications.
What are the components of J2EE application?- A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and communicates with other components. The J2EE specification defines the following J2EE components:
1. Application clients and applets are client components.
2. Java Servlet and JavaServer Pages technology components are web components.
3. Enterprise JavaBeans components (enterprise beans) are business components.
4. Resource adapter components provided by EIS and tool vendors.
What do Enterprise JavaBeans components contain? - Enterprise JavaBeans components contains Business code, which is logicthat solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. All the business code is contained inside an Enterprise Bean which receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program.
Is J2EE application only a web-based? - No, It depends on type of application that client wants. A J2EE application can be web-based or non-web-based. if an application client executes on the client machine, it is a non-web-based J2EE application. The J2EE application can provide a way for users to handle tasks such as J2EE system or application administration. It typically has a graphical user interface created from Swing or AWT APIs, or a command-line interface. When user request, it can open an HTTP connection to establish communication with a servlet running in the web tier.
Are JavaBeans J2EE components? - No. JavaBeans components are not considered J2EE components by the J2EE specification. They are written to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components written for the J2EE platform have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture.
Is HTML page a web component? - No. Static HTML pages and applets are bundled with web components during application assembly, but are not considered web components by the J2EE specification. Even the server-side utility classes are not considered web components, either.
What can be considered as a web component? - J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.
What is the container? - Containers are the interface between a component and the low-level platform specific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE application and deployed into its container.
What are container services? - A container is a runtime support of a system-level entity. Containers provide components with services such as lifecycle management, security, deployment, and threading.
What is the web container? - Servlet and JSP containers are collectively referred to as Web containers. It manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server.
What is Enterprise JavaBeans (EJB) container? - It manages the execution of enterprise beans for J2EE applications.Enterprise beans and their container run on the J2EE server.
What is Applet container? - IManages the execution of applets. Consists of a Web browser and Java Plugin running on the client together.
How do we package J2EE components? - J2EE components are packaged separately and bundled into a J2EE application for deployment. Each component, its related files such as GIF and HTML files or server-side utility classes, and a deployment descriptor are assembled into a module and added to the J2EE application. A J2EE application is composed of one or more enterprise bean,Web, or application client component modules. The final enterprise solution can use one J2EE application or be made up of two or more J2EE applications, depending on design requirements. A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is an XML document with an .xml extension that describes a component’s deployment settings.
What is a thin client? - A thin client is a lightweight interface to the application that does not have such operations like query databases, execute complex business rules, or connect to legacy applications.
What are types of J2EE clients? - Following are the types of J2EE clients:
Applets
Application clients
Java Web Start-enabled rich clients, powered by Java Web Start technology.
Wireless clients, based on Mobile Information Device Profile (MIDP) technology.
What is deployment descriptor? - A deployment descriptor is an Extensible Markup Language (XML) text-based file with an .xml extension that describes a component’s deployment settings. A J2EE application and each of its modules has its own deployment descriptor. For example, an enterprise bean module deployment descriptor declares transaction attributes and security authorizationsfor an enterprise bean. Because deployment descriptor information is declarative, it can be changed without modifying the bean source code. At run time, the J2EE server reads the deployment descriptor and acts upon the component accordingly.
What is the EAR file? - An EAR file is a standard JAR file with an .ear extension, named from Enterprise ARchive file. A J2EE application with all of its modules is delivered in EAR file.
What is JTA and JTS? - JTA is the abbreviation for the Java Transaction API. JTS is the abbreviation for the Jave Transaction Service. JTA provides a standard interface and allows you to demarcate transactions in a manner that is independent of the transaction manager implementation. The J2EE SDK implements the transaction manager with JTS. But your code doesn’t call the JTS methods directly. Instead, it invokes the JTA methods, which then call the lower-level JTS routines. Therefore, JTA is a high level transaction interface that your application uses to control transaction. and JTS is a low level transaction interface and ejb uses behind the scenes (client code doesn’t directly interact with JTS. It is based on object transaction service(OTS) which is part of CORBA.
What is JAXP? - JAXP stands for Java API for XML. XML is a language for representing and describing text-based data which can be read and handled by any program or tool that uses XML APIs. It provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.
What is J2EE Connector? - The J2EE Connector API is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged into any J2EE product. Each type of database or EIS has a different resource adapter. Note: A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager. Because a resource adapter is specific to its resource manager, there is typically a different resource adapter for each type of database or enterprise information system.
What is JAAP? - The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. It is a standard Pluggable Authentication Module (PAM) framework that extends the Java 2 platform security architecture to support user-based authorization.
What is Java Naming and Directory Service? - The JNDI provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object. Because JNDI is independent of any specific implementations, applications can use JNDI to access multiple naming and directory services, including existing naming anddirectory services such as LDAP, NDS, DNS, and NIS.
What is Struts? - A Web page development framework. Struts combines Java Servlets, Java Server Pages, custom tags, and message resources into a unified framework. It is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone between.
How is the MVC design pattern used in Struts framework? - In the MVC design pattern, application flow is mediated by a central Controller. The Controller delegates requests to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application’s business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make an application significantly easier to create and maintain. Controller: Servlet controller which supplied by Struts itself; View: what you can see on the screen, a JSP page and presentation components; Model: System state and a business logic JavaBeans.
Read ON----Little on J2ee technology
What makes J2EE suitable for distributed multitiered Applications?- The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. The J2EE application parts are:
Client-tier components run on the client machine.
Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS server.
What is J2EE? - J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces (APIs), and protocols that provide the functionality for developing multitiered, web-based applications.
What are the components of J2EE application?- A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and communicates with other components. The J2EE specification defines the following J2EE components:
1. Application clients and applets are client components.
2. Java Servlet and JavaServer Pages technology components are web components.
3. Enterprise JavaBeans components (enterprise beans) are business components.
4. Resource adapter components provided by EIS and tool vendors.
What do Enterprise JavaBeans components contain? - Enterprise JavaBeans components contains Business code, which is logicthat solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. All the business code is contained inside an Enterprise Bean which receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program.
Is J2EE application only a web-based? - No, It depends on type of application that client wants. A J2EE application can be web-based or non-web-based. if an application client executes on the client machine, it is a non-web-based J2EE application. The J2EE application can provide a way for users to handle tasks such as J2EE system or application administration. It typically has a graphical user interface created from Swing or AWT APIs, or a command-line interface. When user request, it can open an HTTP connection to establish communication with a servlet running in the web tier.
Are JavaBeans J2EE components? - No. JavaBeans components are not considered J2EE components by the J2EE specification. They are written to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components written for the J2EE platform have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture.
Is HTML page a web component? - No. Static HTML pages and applets are bundled with web components during application assembly, but are not considered web components by the J2EE specification. Even the server-side utility classes are not considered web components, either.
What can be considered as a web component? - J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.
What is the container? - Containers are the interface between a component and the low-level platform specific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE application and deployed into its container.
What are container services? - A container is a runtime support of a system-level entity. Containers provide components with services such as lifecycle management, security, deployment, and threading.
What is the web container? - Servlet and JSP containers are collectively referred to as Web containers. It manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server.
What is Enterprise JavaBeans (EJB) container? - It manages the execution of enterprise beans for J2EE applications.Enterprise beans and their container run on the J2EE server.
What is Applet container? - IManages the execution of applets. Consists of a Web browser and Java Plugin running on the client together.
How do we package J2EE components? - J2EE components are packaged separately and bundled into a J2EE application for deployment. Each component, its related files such as GIF and HTML files or server-side utility classes, and a deployment descriptor are assembled into a module and added to the J2EE application. A J2EE application is composed of one or more enterprise bean,Web, or application client component modules. The final enterprise solution can use one J2EE application or be made up of two or more J2EE applications, depending on design requirements. A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is an XML document with an .xml extension that describes a component’s deployment settings.
What is a thin client? - A thin client is a lightweight interface to the application that does not have such operations like query databases, execute complex business rules, or connect to legacy applications.
What are types of J2EE clients? - Following are the types of J2EE clients:
Applets
Application clients
Java Web Start-enabled rich clients, powered by Java Web Start technology.
Wireless clients, based on Mobile Information Device Profile (MIDP) technology.
What is deployment descriptor? - A deployment descriptor is an Extensible Markup Language (XML) text-based file with an .xml extension that describes a component’s deployment settings. A J2EE application and each of its modules has its own deployment descriptor. For example, an enterprise bean module deployment descriptor declares transaction attributes and security authorizationsfor an enterprise bean. Because deployment descriptor information is declarative, it can be changed without modifying the bean source code. At run time, the J2EE server reads the deployment descriptor and acts upon the component accordingly.
What is the EAR file? - An EAR file is a standard JAR file with an .ear extension, named from Enterprise ARchive file. A J2EE application with all of its modules is delivered in EAR file.
What is JTA and JTS? - JTA is the abbreviation for the Java Transaction API. JTS is the abbreviation for the Jave Transaction Service. JTA provides a standard interface and allows you to demarcate transactions in a manner that is independent of the transaction manager implementation. The J2EE SDK implements the transaction manager with JTS. But your code doesn’t call the JTS methods directly. Instead, it invokes the JTA methods, which then call the lower-level JTS routines. Therefore, JTA is a high level transaction interface that your application uses to control transaction. and JTS is a low level transaction interface and ejb uses behind the scenes (client code doesn’t directly interact with JTS. It is based on object transaction service(OTS) which is part of CORBA.
What is JAXP? - JAXP stands for Java API for XML. XML is a language for representing and describing text-based data which can be read and handled by any program or tool that uses XML APIs. It provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.
What is J2EE Connector? - The J2EE Connector API is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged into any J2EE product. Each type of database or EIS has a different resource adapter. Note: A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager. Because a resource adapter is specific to its resource manager, there is typically a different resource adapter for each type of database or enterprise information system.
What is JAAP? - The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. It is a standard Pluggable Authentication Module (PAM) framework that extends the Java 2 platform security architecture to support user-based authorization.
What is Java Naming and Directory Service? - The JNDI provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object. Because JNDI is independent of any specific implementations, applications can use JNDI to access multiple naming and directory services, including existing naming anddirectory services such as LDAP, NDS, DNS, and NIS.
What is Struts? - A Web page development framework. Struts combines Java Servlets, Java Server Pages, custom tags, and message resources into a unified framework. It is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone between.
How is the MVC design pattern used in Struts framework? - In the MVC design pattern, application flow is mediated by a central Controller. The Controller delegates requests to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application’s business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make an application significantly easier to create and maintain. Controller: Servlet controller which supplied by Struts itself; View: what you can see on the screen, a JSP page and presentation components; Model: System state and a business logic JavaBeans. Read ON----Little on J2ee technology
What makes J2EE suitable for distributed multitiered Applications?- The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. The J2EE application parts are:
Client-tier components run on the client machine.
Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS server.
What is J2EE? - J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces (APIs), and protocols that provide the functionality for developing multitiered, web-based applications.
What are the components of J2EE application?- A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and communicates with other components. The J2EE specification defines the following J2EE components:
1. Application clients and applets are client components.
2. Java Servlet and JavaServer Pages technology components are web components.
3. Enterprise JavaBeans components (enterprise beans) are business components.
4. Resource adapter components provided by EIS and tool vendors.
What do Enterprise JavaBeans components contain? - Enterprise JavaBeans components contains Business code, which is logicthat solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. All the business code is contained inside an Enterprise Bean which receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program.
Is J2EE application only a web-based? - No, It depends on type of application that client wants. A J2EE application can be web-based or non-web-based. if an application client executes on the client machine, it is a non-web-based J2EE application. The J2EE application can provide a way for users to handle tasks such as J2EE system or application administration. It typically has a graphical user interface created from Swing or AWT APIs, or a command-line interface. When user request, it can open an HTTP connection to establish communication with a servlet running in the web tier.
Are JavaBeans J2EE components? - No. JavaBeans components are not considered J2EE components by the J2EE specification. They are written to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components written for the J2EE platform have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture.
Is HTML page a web component? - No. Static HTML pages and applets are bundled with web components during application assembly, but are not considered web components by the J2EE specification. Even the server-side utility classes are not considered web components, either.
What can be considered as a web component? - J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.
What is the container? - Containers are the interface between a component and the low-level platform specific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE application and deployed into its container.
What are container services? - A container is a runtime support of a system-level entity. Containers provide components with services such as lifecycle management, security, deployment, and threading.
What is the web container? - Servlet and JSP containers are collectively referred to as Web containers. It manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server.
What is Enterprise JavaBeans (EJB) container? - It manages the execution of enterprise beans for J2EE applications.Enterprise beans and their container run on the J2EE server.
What is Applet container? - IManages the execution of applets. Consists of a Web browser and Java Plugin running on the client together.
How do we package J2EE components? - J2EE components are packaged separately and bundled into a J2EE application for deployment. Each component, its related files such as GIF and HTML files or server-side utility classes, and a deployment descriptor are assembled into a module and added to the J2EE application. A J2EE application is composed of one or more enterprise bean,Web, or application client component modules. The final enterprise solution can use one J2EE application or be made up of two or more J2EE applications, depending on design requirements. A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is an XML document with an .xml extension that describes a component’s deployment settings.
What is a thin client? - A thin client is a lightweight interface to the application that does not have such operations like query databases, execute complex business rules, or connect to legacy applications.
What are types of J2EE clients? - Following are the types of J2EE clients:
Applets
Application clients
Java Web Start-enabled rich clients, powered by Java Web Start technology.
Wireless clients, based on Mobile Information Device Profile (MIDP) technology.
What is deployment descriptor? - A deployment descriptor is an Extensible Markup Language (XML) text-based file with an .xml extension that describes a component’s deployment settings. A J2EE application and each of its modules has its own deployment descriptor. For example, an enterprise bean module deployment descriptor declares transaction attributes and security authorizationsfor an enterprise bean. Because deployment descriptor information is declarative, it can be changed without modifying the bean source code. At run time, the J2EE server reads the deployment descriptor and acts upon the component accordingly.
What is the EAR file? - An EAR file is a standard JAR file with an .ear extension, named from Enterprise ARchive file. A J2EE application with all of its modules is delivered in EAR file.
What is JTA and JTS? - JTA is the abbreviation for the Java Transaction API. JTS is the abbreviation for the Jave Transaction Service. JTA provides a standard interface and allows you to demarcate transactions in a manner that is independent of the transaction manager implementation. The J2EE SDK implements the transaction manager with JTS. But your code doesn’t call the JTS methods directly. Instead, it invokes the JTA methods, which then call the lower-level JTS routines. Therefore, JTA is a high level transaction interface that your application uses to control transaction. and JTS is a low level transaction interface and ejb uses behind the scenes (client code doesn’t directly interact with JTS. It is based on object transaction service(OTS) which is part of CORBA.
What is JAXP? - JAXP stands for Java API for XML. XML is a language for representing and describing text-based data which can be read and handled by any program or tool that uses XML APIs. It provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.
What is J2EE Connector? - The J2EE Connector API is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged into any J2EE product. Each type of database or EIS has a different resource adapter. Note: A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager. Because a resource adapter is specific to its resource manager, there is typically a different resource adapter for each type of database or enterprise information system.
What is JAAP? - The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. It is a standard Pluggable Authentication Module (PAM) framework that extends the Java 2 platform security architecture to support user-based authorization.
What is Java Naming and Directory Service? - The JNDI provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object. Because JNDI is independent of any specific implementations, applications can use JNDI to access multiple naming and directory services, including existing naming anddirectory services such as LDAP, NDS, DNS, and NIS.
What is Struts? - A Web page development framework. Struts combines Java Servlets, Java Server Pages, custom tags, and message resources into a unified framework. It is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone between.
How is the MVC design pattern used in Struts framework? - In the MVC design pattern, application flow is mediated by a central Controller. The Controller delegates requests to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application’s business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make an application significantly easier to create and maintain. Controller: Servlet controller which supplied by Struts itself; View: what you can see on the screen, a JSP page and presentation components; Model: System state and a business logic JavaBeans.
Read ON----Little on J2ee technology
What makes J2EE suitable for distributed multitiered Applications?- The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. The J2EE application parts are:
Client-tier components run on the client machine.
Web-tier components run on the J2EE server.
Business-tier components run on the J2EE server.
Enterprise information system (EIS)-tier software runs on the EIS server.
What is J2EE? - J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces (APIs), and protocols that provide the functionality for developing multitiered, web-based applications.
What are the components of J2EE application?- A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and communicates with other components. The J2EE specification defines the following J2EE components:
1. Application clients and applets are client components.
2. Java Servlet and JavaServer Pages technology components are web components.
3. Enterprise JavaBeans components (enterprise beans) are business components.
4. Resource adapter components provided by EIS and tool vendors.
What do Enterprise JavaBeans components contain? - Enterprise JavaBeans components contains Business code, which is logicthat solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. All the business code is contained inside an Enterprise Bean which receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program.
Is J2EE application only a web-based? - No, It depends on type of application that client wants. A J2EE application can be web-based or non-web-based. if an application client executes on the client machine, it is a non-web-based J2EE application. The J2EE application can provide a way for users to handle tasks such as J2EE system or application administration. It typically has a graphical user interface created from Swing or AWT APIs, or a command-line interface. When user request, it can open an HTTP connection to establish communication with a servlet running in the web tier.
Are JavaBeans J2EE components? - No. JavaBeans components are not considered J2EE components by the J2EE specification. They are written to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components written for the J2EE platform have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture.
Is HTML page a web component? - No. Static HTML pages and applets are bundled with web components during application assembly, but are not considered web components by the J2EE specification. Even the server-side utility classes are not considered web components, either.
What can be considered as a web component? - J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.
What is the container? - Containers are the interface between a component and the low-level platform specific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE application and deployed into its container.
What are container services? - A container is a runtime support of a system-level entity. Containers provide components with services such as lifecycle management, security, deployment, and threading.
What is the web container? - Servlet and JSP containers are collectively referred to as Web containers. It manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server.
What is Enterprise JavaBeans (EJB) container? - It manages the execution of enterprise beans for J2EE applications.Enterprise beans and their container run on the J2EE server.
What is Applet container? - IManages the execution of applets. Consists of a Web browser and Java Plugin running on the client together.
How do we package J2EE components? - J2EE components are packaged separately and bundled into a J2EE application for deployment. Each component, its related files such as GIF and HTML files or server-side utility classes, and a deployment descriptor are assembled into a module and added to the J2EE application. A J2EE application is composed of one or more enterprise bean,Web, or application client component modules. The final enterprise solution can use one J2EE application or be made up of two or more J2EE applications, depending on design requirements. A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is an XML document with an .xml extension that describes a component’s deployment settings.
What is a thin client? - A thin client is a lightweight interface to the application that does not have such operations like query databases, execute complex business rules, or connect to legacy applications.
What are types of J2EE clients? - Following are the types of J2EE clients:
Applets
Application clients
Java Web Start-enabled rich clients, powered by Java Web Start technology.
Wireless clients, based on Mobile Information Device Profile (MIDP) technology.
What is deployment descriptor? - A deployment descriptor is an Extensible Markup Language (XML) text-based file with an .xml extension that describes a component’s deployment settings. A J2EE application and each of its modules has its own deployment descriptor. For example, an enterprise bean module deployment descriptor declares transaction attributes and security authorizationsfor an enterprise bean. Because deployment descriptor information is declarative, it can be changed without modifying the bean source code. At run time, the J2EE server reads the deployment descriptor and acts upon the component accordingly.
What is the EAR file? - An EAR file is a standard JAR file with an .ear extension, named from Enterprise ARchive file. A J2EE application with all of its modules is delivered in EAR file.
What is JTA and JTS? - JTA is the abbreviation for the Java Transaction API. JTS is the abbreviation for the Jave Transaction Service. JTA provides a standard interface and allows you to demarcate transactions in a manner that is independent of the transaction manager implementation. The J2EE SDK implements the transaction manager with JTS. But your code doesn’t call the JTS methods directly. Instead, it invokes the JTA methods, which then call the lower-level JTS routines. Therefore, JTA is a high level transaction interface that your application uses to control transaction. and JTS is a low level transaction interface and ejb uses behind the scenes (client code doesn’t directly interact with JTS. It is based on object transaction service(OTS) which is part of CORBA.
What is JAXP? - JAXP stands for Java API for XML. XML is a language for representing and describing text-based data which can be read and handled by any program or tool that uses XML APIs. It provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.
What is J2EE Connector? - The J2EE Connector API is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged into any J2EE product. Each type of database or EIS has a different resource adapter. Note: A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager. Because a resource adapter is specific to its resource manager, there is typically a different resource adapter for each type of database or enterprise information system.
What is JAAP? - The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. It is a standard Pluggable Authentication Module (PAM) framework that extends the Java 2 platform security architecture to support user-based authorization.
What is Java Naming and Directory Service? - The JNDI provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object. Because JNDI is independent of any specific implementations, applications can use JNDI to access multiple naming and directory services, including existing naming anddirectory services such as LDAP, NDS, DNS, and NIS.
What is Struts? - A Web page development framework. Struts combines Java Servlets, Java Server Pages, custom tags, and message resources into a unified framework. It is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone between.
How is the MVC design pattern used in Struts framework? - In the MVC design pattern, application flow is mediated by a central Controller. The Controller delegates requests to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application’s business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make an application significantly easier to create and maintain. Controller: Servlet controller which supplied by Struts itself; View: what you can see on the screen, a JSP page and presentation components; Model: System state and a business logic JavaBeans.

Professional Telephone Etiquettes

Professional Telephone Etiquettes !!!


Often a client's first contact with a business is by phone. The following guidelines will help to make the first impression a good one. Most of this etiquette can be used in personal conversations as well as at the office. Professionalism is polite, thoughtful, efficient, educated and valuable at all times.

Answering calls for others

A) Identify yourself and the company or person for whom you are answering and say, "How may I help you?

B) Offer assistance in the absence of others--say, "She is not in today, perhaps I can be of assistance".

C) Do not make commitments for others-say, "I'll give him your message when he returns," rather than-"He will call you as soon as he returns".

D) Take accurate, legible messages with time, date, reason for call, urgency, company represented, if any, the best time to reach them and all other pertinent information.

Transferring calls

A) Explain the reason for the transfer-("Let me connect you with Mr. Heron in that department). Use the name of the person you are transferring to whenever possible.

B) Know the transfer instructions for the telephone system so that you do not cut off your caller!

Handling complaints by phone

A) Listen carefully.

B) Convey sincere interest and be empathetic.

C) Agree as often as possible.

D) Remain calm and courteous. DO NOT ARGUE!

E) Do not interrupt unless the person needs to talk to another person or department.

F) Do not blame co-workers.

G) Explain clearly and be anxious to solve the problem or correct mistakes.

E) Do not make unrealistic promises.

F) Apologize. Be sure to say I'm sorry. To a customer that is more sincere than we are sorry.

G) Act fast. Acting quickly shows that you are sorry and that you will handle the issue.

H) Follow up. Get back to the caller to make sure the problem has be solved.

When you are away from the office

A) Arrange for coverage or leave a voice mail message for callers.

B) Place a short message on the machine. Callers do not like to wait during a long message.

C) Advise your office of where you can be reached.

D) Check your messages during the day.

Placing calls

A) Plan your call. Knowing what you need to say will make your call brief and effective.

B) Place your own calls when possible to add a personal touch and create good will.

C) Identify yourself and quickly state your business.

Qualities of a good voice

A) Distinctness

B) Pleasantness/warmth

C) Vitality

D) Naturalness

E) Expressiveness

F) Lower, mellow pitch

Tips for creating a good image

A) Use basic phrases of courtesy--"May I help you?, Please, Thank you, You are welcome."

B) Use standard, accepted business phrases.

C) Avoid slang-"uh huh, yeah, nope, dude, or bye bye for good bye".

D) Do not chew gum.

E) Do not slam the phone or cut off abruptly.

F) Keep your promises.

G) Smile while speaking. People can "hear a smile" over the phone!

Education of employees

A) Use written guidelines and verbal training.

B) Assure adherence.

C) Choose the proper employee for telephone answering (someone who loves the job).

D) Insist that employees avoid saying, "Have a nice day." Callers are sick of trite clichés.

E) Make sure that employees refrain from idle chitchat on company phone lines.

Suggested phrases for Business Telephone Ettiquete

A) "Mid-State Band and Trust, this is Mrs. Schlerf. How may I help you?

B) "Accounting department, this is Laura. How may I help you?"

C) "Good morning, Dr. Nasir and Fareed's office, how may I help you?"

Acknowledgements-Suggested responses to questions or comments

A) "Thank you, I'll check." or "I'll see."

B) "Yes ma'am/sir."

C) "One moment please, I'll find out."

D) "Yes, you may."

Reports to caller

A) "Mrs. Martinez is on another line, will you wait, please?"

B) "He is away from his desk, may I take a message."

C) "I'm sorry, Mrs. Hann is out of the office, may someone else help you."

D) "Ms. Shultz is in the Trust Department, one moment please, I'll transfer your call."

E) "I'm sorry to keep you waiting."

Obtaining the caller's name

A) "May I tell Mr. Snyder who is calling, please?"

B) "May I say who is calling, please?"

C) "May I have your name, please?"

Obtaining the correct information

A) Always repeat and read back messages for accuracy.

B) "Will you spell the name, please?"

C) "Will you repeat the number, please?"

D) "The correct spelling is P-R-E-T-T-Y?"

4)"The correct number is 5-1-1-6 - (pause)-1-5-3-4?"

Progress reports

A)"Mr. Lokey's line is still busy, do you wish to continue waiting?"

B)"I'm sorry to keep you waiting, may I check further and call you back?"

C)"That line is still busy, may someone else help you?"

D)"I'm sorry, she is still away from her desk, do you wish to continue waiting?"