Title: SOA Web Services Edge Conference
1SOA Web Services Edge Conference
AJAX and SOA The perfect match
2Unofficial Survey SOA and AJAX
- Why did you attend this conference?
- A) Learn about SOA?
- B) Learn about AJAX?
- What is most important to enterprises?
- A) SOA?
- B) AJAX?
- What will provide the best ROI for your company?
- A) AJAX?
- B) SOA?
- Would you feel satisfied if you?
- A) Learned about SOA at this conference?
- B) Learned about AJAX at this conference?
3Some questions that require answering
- What is SOA?
- Why is SOA important?
- What is AJAX?
- Why is AJAX important?
- Why do enterprises care about SOA AJAX?
- How are AJAX and SOA complementary?
- Why is this combination important to enterprises?
- Why does the combination matter to any
enterprise? - How best to combine AJAX and SOA?
- Best practices
- Mitigate risk
4Some thoughts about perfect matches
- "It was a perfect marriage. She didn't want to
and he couldn't." Spike Milligan - What counts in making a happy marriage is not so
much how compatible you are, but how you deal
with incompatibility. Leo Tolstoy - Marriage is a wonderful institution...but who
wants to live in an institution? Groucho Marx - "I was married by a judge. I should have asked
for a jury." Groucho Marx
5SOA What is it? (Wikipedia)
Society of Actuaries
Skies of Arcadia
State of the art
Stimulus Onset Asynchrony
Soldiers of Allah
Start of Authority
Society of Ancients
State of Alert
Sarbanes-Oxley Act
Safe operating area
Semiconductor Optical Amplifier
School of the Americas
Service-Oriented Architecture
6SOA What is it? (Wikipedia)
- In computing, the term Service-Oriented
Architecture (SOA) expresses a perspective of
software architecture that defines the use of
services to support the requirements of software
users - Unlike traditional point-to-point architectures,
SOAs comprise loosely coupled, highly
interoperable services. - These services interoperate based on a formal
definition (or contract) which is independent
from the underlying platform and programming
language. - The software components become very reusable
because the interface is standards-compliant and
is independent from the underlying implementation
of the service logic.
7SOA Why is it important? (Wikipedia)
- Enterprise architects believe that SOAs help
businesses respond more quickly and
cost-effectively to the changing market
conditions they may face by promoting reuse and
interconnection of existing IT assets rather than
more time consuming and costly reinvention -
- To talk in terms of a service-oriented
architecture provides a good framework from which
to build the dynamic solutions required today - This should greatly decrease integration costs
and allow for much more dynamic solutions to be
deployed.
8AJAX - What is it? (Wikipedia)
- Ajax Amsterdam
- Ajax (band)
- Ajax (arcade game)
- Ajax (horse)
- HMS Ajax
- Ajax cleanser
- Ajax Duckman
- Ajax, Ontario
- Ajax Records (Chicago)
- Ajax Records (Quebec)
- Ajax Kenitra
- Operation Ajax
- Aspen Mountain (Colorado)
- Ajax (Mickey Mouse)
- Ajax (aircraft)
- Ajax (programming)
- Ajax (Warriors)
9AJAX - What is it? (Wikipedia)
- Ajax, shorthand for Asynchronous JavaScript and
XML is a Web development technique for creating
interactive web applications. -
- The intent is to make web pages feel more
responsive by exchanging small amounts of data
with the server behind the scenes, so that the
entire web page does not have to be reloaded each
time the user makes a change. - This is meant to increase the web page's
interactivity, speed, and usability -
- Ajax is not a technology in itself, but a term
that refers to the use of a group of technologies
together.
10AJAX Why is it important? (Wikipedia)
- Ajax applications are mainly executed on the
user's machine, by manipulating the current page
within their browser using document object model
methods. - Ajax can be used for a multitude of tasks such as
updating or deleting records expanding web
forms returning simple search queries or
editing category treesall without the
requirement to fetch a full page of HTML each
time a change is made. - Generally only small requests are required to be
sent to the server, and relatively short
responses are sent back - This permits the development of more interactive
applications featuring more responsive user
interfaces due to the use of DHTML techniques. - current Ajax applications effectively fill part
of the one-time niche of Java applets extending
the browser with lightweight mini-applications.
11How are SOA and AJAX complementary?
- SOA is the most flexible implementation for the
middle and data tiers - Benefits are mainly realized by the enterprise
and developers - Customers do not perceive benefits from SOA
- AJAX is the best possible face for any enterprise
Web app - Ease-of-use benefits are perceived by the
end-users - The enterprise and developers actually have to go
to more hassles to include and integrate AJAX
into their apps - SOA and AJAX combined (if done well)
- Provide benefits to enterprise, developers and
end-users
12Why does combining SOA AJAX matter?
- Using SOA and AJAX combines the benefits achieved
by each approach - Reduced maintenance and support costs
- Faster reaction time to changing market needs
- Improved revenue possibilities
- Better customer experience
- Re-use of existing assets
- Independence from vendor lock-in
- Standards-based technologies
- Ajax and SOA enable SaaS delivery of enterprise
applications
13Possibilities of combining SOA AJAX
- Most large enterprises have already started
migration to SOA - Seen as one of the most strategic undertakings in
the enterprise - Recent survey by Merril Lynch 87 of CIOs
consider SOA the next big thing - AJAX appeared while enterprises invested on their
SOA - The appearance of AJAX took most by surprise
- Enterprises now want to include AJAX on their
apps and want to combine with SOA - How best to include AJAX with SOA?
- Is a coat of AJAX paint the answer?
- Do I want a framework to provide the way?
- How difficult is it?
- Do I want easy or effective?
- The easiest manner may not be right consider
which option is best for you - Do you care about security, scalability, trust,
etc
14Possibilities of combining SOA AJAX
- Some vendors offer
- Client only approach AJAX, but no SOA
integration - Server only approach SOA, but no AJAX
- SOA/AJAX have 2 possible approaches
- Client GUI/Client Integration
- Client GUI/Server Integration
- Different approaches are correct depending on
particular concerns about - Security?
- Scalability?
- Service management?
15Combining SOA AJAX Client-side integration
- Client-side GUI engine and client-only
integration solution - Uses client-side GUI (AJAX) and client-side
integration with data - Server-less approach that sends the data result
from the service along with the presentation and
gets integrated into client - Pros
- This approach seems easier because of its
server-less infrastructure - Better suited for homogenous components
- Cons
- Considered not to be as scalable
- Considered not to be as highly security-conscious
- Some AJAX problems may exist because of services
coming from different domains to the
XMLHttpRequest object - Client-side implementation can be slow to spot
issues with the application - More often requires tight relationship between
middleware and AJAX solution
16Combining SOA AJAX Server-side integration
- Client-side GUI engine and Server-side
integration solution - Uses client-side GUI (AJAX) and server-side
integration - Server-based approach that allows coordination of
service and presentation on a server-side
component - Pros
- Considered a much more scalable approach
- Security can be better managed at the server
rather than client - No cross-domain issues appear because everything
is conducted by server(s) at the same domain - Enterprise has better control of all processes
because the server-side components is under its
control - Can detect potential issues at the server rather
that wait for client to inform - Better suited for heterogeneous components
- Client remains a thinner client than with other
solutions - Cons
- Generally considered more difficult to deploy
- Inclusion of server-side components require more
testing - Misunderstandings about interaction among server
side scalability
17Home-made or Fully-tested
- Enterprises wishing to use a SOA/AJAX solution
can - Use home-made solution
- Use any AJAX solution that allows
interoperability - Surf the web and download AJAX libraries
- Use a fully supported AJAX-toolkit
- Integrate to services
- By hand
- Create a component that allows integration to
services (client or server-side) - Use specialized and tested complete solution
- Use any AJAX solution that allows
interoperability - Surf the web and download AJAX libraries
- Use a fully supported AJAX-toolkit
- Integrate to services using a proven Full
Solution - Use a solution that will allow for the easiest
possible integration - Ensure that the solution is proven, scalable and
secure - Use the solution that provides the best
scalability, security and service management - Ensure no vendor lock-in
- Ensure neutral interaction with heterogeneous
components
18How best to combine SOA and AJAX
- SOA and AJAX requires an end-to-end framework
- Should integrate with many types of services
- Web services
- RSS
- REST
- XML
- HTML-based microformats
- Framework should not create vendor lock-in
- Work with what exists now
- Ensure interaction into future
- Function with heterogeneous systems
- SOA and AJAX is too important to leave alone,
this is serious stuff! - Aspects to be considered
- GUI and integration should be tested and ensured
- Based on open standards
- Interoperability with other AJAX solution
- Integration with other applications not only
Web Services - Other concerns
- Security
19Risks involved in SOA and AJAX
- How will you ensure scalability?
- How will you ensure security?
- Will your solution require tight coupling to
other products? - Will you put up with vendor lock-in?
- Do you trust solutions not based on open
standards? - Can you afford solutions that do not allow
integration with heterogeneous systems?
20Rethinking thoughts about perfect matches
- "It was a perfect marriage. She didn't want to
and he couldn't." Spike Milligan - AJAX and SOA complement each other by what they
are not as much as by what they are - What counts in making a happy marriage is not so
much how compatible you are, but how you deal
with incompatibility. Leo Tolstoy - How will our solution deal with heterogeneous
systems? - Marriage is a wonderful institution...but who
wants to live in an institution? Groucho Marx - Dont get locked-in!
- "I was married by a judge. I should have asked
for a jury." Groucho Marx - It is important that the solution is proven by
many
21Luis Derechin CEO JackBe
Thank you
- 240-744-7620
- Luisd_at_jackbe.com