ppt - Computer Science

Download Report

Transcript ppt - Computer Science

XML-based web services
with the java 2 platform, Enterprise edition (j2EE)
by anis karimpour-fard
Overview
Web services
smart web services
jboss
References
Web services
What are web services
Major challenges in building web
services
Web service development
technology
Web services standard
Implementing web services
Development tips
Conclusion
The business wanted to do
transaction with the customer , so
application web was created.
The e-business wanted to integrate
their processes with other
e-business , so the web service
was created.
 Web services are a new breed of Web
application. They are self-contained, selfdescribing, modular applications that can
be published, located, and invoked
across the Web. Web services perform
functions, which can be anything from
simple requests to complicated business
processes...Once a Web service is
deployed, other applications (and other
Web services) can discover and invoke
the deployed service.
Web service provide an application
integration technology that can be
successfully used over the internet.
Major challenges in building web services
 Build client-tier connectivity
to allow applets, applications, business partners, and web
browsers connect and make use of a web service.
 implement the web service
Including any workflow logic, data transformation logic,
business logic, and data access logic. This is the
functionality behind the web service that performs work on
behalf of the clients.
 connect to back-end system
which may include one or more databases, existing
enterprise information systems, business partners that
publish their own web services, and a shared context
repository for user information shared across many
systems.
Major subsystems and protocols in a J2EE-based with web services environm
Type of client
Examples
How this client
connects
Business
partners
Distributors,
resellers, large
customers
XML-based web
services technologies
(SOAP, UDDI,
WSDL, ebXML)
Thin clients
Web browsers,
PDA, Wireless
devices
Lightweight protocol
(HTTP)
Thick clients
Applets,
applications ,
existing systems
Heavyweight
protocol (IIOP)
 web services development model with
J2EE relies on the following four standard
technologies:
XML technologies.
The use of XML standards is very important in
the overall scheme of the web services
universe.
Java technologies.
A critical component of this is the Java API for
XML Parsing (JAXP) . The future will bring a
few new JAX* APIs, mainly for dealing with the
XML data formats and services. These future
JAX* API’s will allow for greater ease and
speed in development.
TCP/IP
The universal networking protocol.
Everything from pagers to mobile
phones to laptops to mainframes can
communicate through TCP/IP.
HTML
The universal user interface. You can use
HTML tags to render data on just about
any device you can think of.
 What do these technologies have in
common? They're all open, crossplatform standards. It's openness that
makes the Web possible; that openness
is also the foundation for Web services.
BUSINESS PARTNER CONNECTIVITY
Business partner can use different programming languages,
middleware, and hardware.
When request comes to j2ee web service
deployment the following order of
operations takes place:
1) The XML document is received by a Java servlet
2) The servlet processes the incoming XML-based
request.
3) The servlet then calls one or more Enterprise
JavaBeans(EJB) components to perform
business data processing.
4) The EJB components perform their processing,
possibly calling external systems.
5) the EJB components returns data to the servlet.
6) the servlet then marshals this return value into
an XML document.
7) The servlet return XML to the client on a response
Processing a business partner request
Web Service Standard
 UDDI (Universal Description, Discovery, and Integration)
Before a partner can make a web service call to
a business, it must first locate a business with
the service needed, discover the call interface
and semantics, and write or configure software
on their end to collaborate with the service.
Thus we need a vehicle to publish our web
service.
In another word
A business registry standard for indexing web services,
so that their descriptions can be located by development
tools and applications.
JAXR
To support the functionality of UDDI on the Java
platform, the Java APIs for XML Registries (JAXR) is a
API specification that developers can use to access
registries.
JAXP enables enterprise developers to add essential
XML functionality to their Java applications, in areas
such as e-commerce, enterprise application
integration,
and dynamic web publishing,
WSDL
For a business to discover a service it wants to use, it
needs to understand the call syntax and semantics prior
to actually making a call. The WSDL (Web Services
Description Language) specification is an XML document
which describes the interface, semantics, and
administrative of a call to the web service.
Implementing web service
1) service provider creates a web
service
2) the service provider uses WSDL to
describe the service to (UDDI registry).
3) the service provider registers the
service (in a UDDI registry and /or
ebXML registry or repository).
4) another service or user locates and
requests the registered service by
querying UDDI and/or ebXML
registry(ies).
5) the requesting service or user writes
an application to bind the registered
service using SOAP(in the case of
UDDI) and/or ebxml.
6) data and messages are exchanged as
XML over HTTP.
 Development Tips :
1: Request a service
Web service has the same issues as
distributed services
 Requested service is consider heavy weight
operations
 Local operation is much cheaper than
distributed operation
2: Control issue
 With Web service you are tapping into
software modules that are not under your
control. Plan for the time when it does not
work.( The system worked in the last few month
and now is updated to new version.)
3:
RPC-style architectures
 Do not expect instance response because web service
support
 Asynchronous response RPC-style architecture
 Synchronous response RPC-style architecture
 Messaging
you won’t be able to count on the reliability of
many services you call because the they aren’t
under your control. Provide backup plans for
important process
Conclusion
1) Reduce cost
2) Improve quality
3) Increase function
4) Web service are here to stay
5) plenty of challenge and creative opportunities
as only a few development tools are available
at this time.
6) Few standard available
7) companies like IBM, SUN and Microsoft
believes the next revolution in computer science
will be web services.
Smart web service
 provide high level of customization and
personalization
 context awareness, multinet capabilities, quality
of service, fully open interface
software device can sense
1) who you are
2) where you are
3) what kind of device you are using
4) what kind of network
5) your preference
(the context can will be share different devices and
different model interaction at real time.)
jboss
JBoss is an application server written in
Java that can host business components
developed in Java.
What are the benefits of jboss?
 dynamic "hot" deploy
 dynamic proxies
 JMX ( fully modular design that
enables you to replace virtually
every component of the server.)
 JBoss supports:
1. stateless session beans
2. stateful session beans
3. BMP entity beans
4. CMP entity beans
1,2 and 3 are standard features you can
reasonably expect an application server to
provide. It's the quality of a CMP
implementation and the developer tools
around it that differentiate application
servers. JBoss supplies JAWS (Just Another
Web Storage) to allow developers map EJBs to
relational data storage.
 JBoss does not implement the servlet specification (or
the JSP specification). Instead, they have integrated
with two other open-source projects - Jakarta Tomcat
and Jetty to get this. You can run JBoss with either Jetty
or Tomcat integrated within the same VM (which means
a huge performance boost since all calls are now local
to the VM and there is no network io) or in separate
VMs
JBoss Pros
1. The install process is very easy and more importantly
self-contained. JBoss does not use the registry (on
Windows) or any other platform-specific mechanism for
configuration. All information is stored in text files.
2. JBoss has built-in SOAP support (via the ZOAP
integration).
3. JBoss has been JMX enabled right from the
start and was built with management in mind
from the ground up.
4.JBoss is very resource friendly. It takes only a
couple of seconds to start up (and EJBs deploy
quickly too) and will comfortably run on a
machine with 128 MB RAM. This is great for
development
 JBoss Cons
1. There is no support for clustering .
There are two methods for scaling application
servers:
 horizontal scaling and vertical scaling.
JBoss supports vertical scaling of hardware only.
• Horizontal scaling involves deploying multiple
application server instances.
• Vertical scaling means deploying a (single) larger, more
powerful machine that can support more users, with a
higher throughput or service time, with almost linear
scaling.
• 2. Parts of the documentation are missing and / or out
of date. This especially impacts new / weak developers
since they only have the documentation to go on and are
not in a position to start trawling through source code.
•
3.Compared to BEA, the JBoss developer community is
small.
References
Sun micro system
http://www.sun.com
J2 Platform enterprise edition(J2EE)
http://www.j2ee.com
JBOSS organization
http://www.jboss.org