Title: SOA Definition
1SOA Definition
- The goal of an SOA is to allow business
activities to be orchestrated as components in
applications targeting both internal and
extra-organizational actors, ultimately enhancing
business agility
2SOA in Action
Chapter 10 Enterprise SOA
- Padmaja Mandava
- Harish Kethireddy
CSU Prof David Woolbright
3SOA In Action
This chapter shows how a service can be
implemented in the real world to serve the need
of different usage models.
- Building Web Applications
- Enterprise Application Integration
- Business -to- Business
- Fat Clients
- Small devices and
- Multi Channel Services
4Building Web Applications
- Web applications are particularly suited as
clients for a Service Oriented Architecture Due
to
- Web requests are stateless by nature
- Provide rich interfaces with high degree of
interactivity.
5Building Web Applications Contd...
- Initial authentication by web tier either by
username and password or by a certificate. - Subsequent call authentication is done by
- Principal Propagation
- Trust
State of service is stored in web tier
6Building Web Applications Contd...
- Precautions should be taken in handling service
requests by trust and when handling duplicate
requests by impatient user.
Main Disadvantage In principal propagation, for
web application that uses a framework that
doesnt support this feature, the process of
authenticating for subsequent calls is not
straight forward.
7Enterprise Application Integration
- EAIs pose a certain set of requirements in
addition to profound non-technical issues that
must consider.
- Highly fragmented application infrastructure
- Use of multiple programming platforms and
communication infrastructures from multiple
vendors.
Nevertheless, if an SOA is properly deployed, it
will address many technical and core concerns
related to EAI.
8Enterprise Application Integration Contd
Quality Customer Service
Strategic Insight
Flexible Business Model
Rapid Market Response
Innovative Products Services
Low Cost
9Enterprise Application Integration Contd
- Encapsulate the functionality of an existing
application - Define a service façade that sit between
application frontend and the distributed
components.
10Enterprise Application Integration Contd
The service provider must be able to upgrade a
service without having an impact on current
applications that integrate these services. Two
main styles doing this are
- Backward Compatibility
- Provision for different versions.
11Integration vs. Interoperability
- Integration
- Two (or more) applications exchange data Ex EAI
- Interoperability
- Two (or more) applications are able to exchange
information (if they want to). Ex B2B imp
- If ( _youHaveQuestions )
-
- throw FatalException( Service Not Available any
more ) -
- Else
-
- ? ? ? ?
- PadmajaPlease take over.
-
12Business-to-Business
- A corporate offers some service to another
corporation over public networks such as the
internet. - In B2B scenario, both the service consumer and
the provider benefit greatly by following two
policies
- Following global standard protocols while
developing the services. and - Providing location transparency by registry
services.
13Business-to-Business Contd...
- In B2B services, in most of the scenarios,
Authentication is achieved by trusting the remote
system believing that business partner is
trustworthy.
14Fat Clients
- An application type that provides a lot of its
processes on the client machine and usually
relies on a single backend system, which can be a
relational database, is commonly synonymies as
Fat Clients.
- Disadvantage
- Complex deployments
- Advantage
- Known for most users friendly, stability and
interactivity.
15Fat Clients Contd...
- With SOA implementation, fat clients can be
converted as rich clients. -
- The core advantage of this method is that the
rich client application can be completely
decoupled from the backend implementation.
Fat clients authentication is by trusted clients
or might be authenticated using a certificate.
16Designing for small Devices
- Services are developed for specific device due to
- Compatibility of technology,
- Limited processing power,
- Limited memory availability and
- Limited data entry support.
17Designing for small Devices Contd...
- Security and authentication is often a big
challenge due to limitations. - Processing power and available memory may not
allow encryption and signature of messages. - Authentication can be done in mainly two ways.
- One by username and password entering directly
and second by - certificate stored in client (device)
18Designing for small Devices Contd...
- Use resources for the application rather than the
communication.
19Multi-Channel Applications
- SOAs are extremely effective at implementing
multi-channel applications. - Accessed through different channels by either
human users or programs. - Typical multi-Channel applications can provide
channels such as the - Internet,
- various mobile channels such as WAP,
- B2B,
- fat clients..
20In Conclusion
- we have the following challenges in developing
SOA applications - Handling duplicate requests.
- Handling transaction based operation services.
- Location transparency. mainly in B2B applications
21In Conclusion Contd...
- Using simplest protocol in small device
applications - And finally, Granularity of the service, security
constraints, and the technologies to use is
mainly depending on usage scenario of the service.
22Summary
- SOA Design is NOT an IT-only initiative
- SOA Design ! distributed computing
- As always no single or definitive answers but
rather guidance, best practices and patterns - Nothing replaces hands on experience
23Thank You
CSU Prof David Woolbright
SOA in Action Chapter 10 ESOA
Harish Kethireddy
Padmaja Mandava