Out of Bounds with AJAX - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Out of Bounds with AJAX

Description:

Soap API version 1.0. Custom fields on some objects. No Custom objects. 2004 ... and with Firefox, Opera, Safari, etc... the post-Netscape world is not all IE ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 24
Provided by: Geor93
Category:
Tags: ajax | bounds | out

less

Transcript and Presenter's Notes

Title: Out of Bounds with AJAX


1
Out of Bounds with AJAX
Track Advanced AppExchange Developer
  • Dave Carroll, Salesforce.com
  • Jan Sabelstrom, CaSa Customer Solutions
  • Henry Hai, OKERE

2
Safe Harbor Statement
  • Safe harbor statement under the Private
    Securities Litigation Reform Act of 1995 This
    presentation may contain forward-looking
    statements the achievement of which involves
    risks, uncertainties and assumptions. If any such
    risks or uncertainties materialize or if any of
    the assumptions proves incorrect, our results
    could differ materially from the results
    expressed or implied by the forward-looking
    statements we make.  All statements other than
    statements of historical fact could be deemed
    forward-looking, including any projections of
    subscriber growth, earnings, revenues, or other
    financial items and any statements regarding
    strategies or plans of management for future
    operations, statements of belief, any statements
    concerning new, planned, or upgraded services or
    technology developments and customer contracts or
    use of our services.
  • The risks and uncertainties referred to above
    include - but are not limited to - risks
    associated with the integration of Sendia
    Corporations technology, operations,
    infrastructure and personnel with ours
    unexpected costs or delays incurred in
    integrating Sendia with salesforce.com, which
    could adversely affect our operating results and
    rate of growth any unknown errors or limitations
    in the Sendia technology any third party
    intellectual property claims arising from the
    Sendia technology customer and partner
    acceptance and deployment of the AppExchange and
    AppExchange Mobile platforms interruptions or
    delays in our service or our Web hosting our new
    business model breach of our security measures
    possible fluctuations in our operating results
    and rate of growth the emerging market in which
    we operate our relatively limited operating
    history our ability to hire, retain and motivate
    our employees and manage our growth competition
    our ability to continue to release and gain
    customer acceptance of new and improved versions
    of our CRM service unanticipated changes in our
    effective tax rate fluctuations in the number of
    shares outstanding the price of such shares
    foreign currency exchange rates and interest
    rates.
  • Further information on these and other factors
    that could affect our financial results is
    included in the reports on Forms 10-K, 10-Q and
    8-K and in other filings we make with the
    Securities and Exchange Commission from time to
    time, including our Form 10-K for the fiscal year
    ended January 31, 2006. These documents are
    available on the SEC Filings section of the
    Investor Information section of our website at
    www.salesforce.com/investor.
  • Any unreleased services or features referenced in
    this or other press releases or public statements
    are not currently available and may not be
    delivered on time or at all.  Customers who
    purchase our services should make purchase
    decisions based upon features that are currently
    available.  Salesforce.com, inc. assumes no
    obligation and does not intend to update these
    forward-looking statements, except as required by
    law.

3
Sample Agenda
  • Welcome
  • Introductions
  • SControls and AJAX (client side)
  • No-limits Composite SControls (server side)
  • Closing

4
Salesforce.com AppExchange Developer Network /
Dave Carroll
Principal Developer Program Manager AppExchange
Developer Network
dcarroll_at_salesforce.com
5
On-demand App Dev Evolution
Winter 07
  • 2003
  • sforce launched
  • Soap API version 1.0
  • Custom fields on some objects
  • No Custom objects
  • 2004
  • API version 4.0
  • Custom links and SControls introduced.
  • No real SControl story
  • 2005
  • AJAX Toolkit Beta
  • Now we have a story
  • AJAX becomes an official buzz-word
  • AJAX Toolkit productized
  • SControls take the spotlight
  • DOJO support included
  • SFA/SSS/CRM now using AJAX technologies
  • Composite SControls
  • SOQL-R - expands AJAX use cases
  • And more


6
Demos - not your fathers S-Controls!
  • Inline SControls
  • Opportunity Editor
  • Animation and Graphing
  • Account Revenue
  • Active Detail Pages
  • New ways to visualize Related Lists
  • New Buttons!
  • Make my day
  • More Mapping fun
  • Related Accounts
  • Mashboards

7
Yahoo User Interface Sample - Coding!!
8

HENRY HAI
HEAD OF TECHNICAL SERVICES
henry.hai_at_okere.com
8
9
OKERE
  • Consulting and Systems Integration Firm
  • Focused on Software as a Service market
  • Delivering client management solutions to
    enterprise organizations
  • Experience in all industries, core strength
    Financial Services
  • Please visit us at the Financial Services
    Pavilion

INDUSTRY Financial Services
EMPLOYEES 4,500
GEOGRAPHY Global
USERS 585
PRODUCT(S) USED SFA, Service Support, 3
downloaded AppExchange applications
9
10
Concepts in S-Controls and AJAX
  • Building a re-usable AJAX List Control
  • Accelerate your development
  • Native salesforce look and feel
  • Customized features
    (Tool Tips, Hot Lists, Icons)
  • Available through Snippets
  • Call Log S-Control
  • Dynamic Content (Meta Data Driven)
  • Review contact activity quickly
  • Mass activity creation using AJAX
  • Leverages new SOQL features
    (Relationship Queries, Order By, Count, Limit)

10
11
Salesforce.com AppExchange Developer Network /
Jan Sablestrom
Managing Director CaSa Customer Solutions, LLC
jan.sabelstrom_at_casallc.com
11
12
About CaSa Customer Solutions
  • Full-service CRM Solutions provider
  • Strategy
  • Process
  • Technology
  • Talent
  • Specialized in Salesforce implementation
  • First implementation 2001
  • AppExchange go-to-market services
  • Market Strategy
  • Product Design/Development
  • AppExchange Process Management (Listing,
    Certification Posting)
  • Support Process and Automation Design
    Implementation
  • Associates average over 15 years CRM experience
  • Visit us at www.casallc.com
  • Marketing
  • Sales
  • Service Support

13
Sample Application OnPoint Direct Response
  • What does it do?
  • Allows users to build micro-websites to capture
    information from visitors for registration,
    surveys or any business communications objective!
  • Data model integration technology creates or
    updates records in Salesforce.com for any object
    or maps to flexible meta-data object
  • How Why is AJAX employed?
  • Performance improvement
  • Pre-loading of org configuration meta data
  • Client-server messaging for content
    save/retrieve
  • Use of server-side .NET classes (C or VB) to
    perform heavy lifting return primitive and
    complex data types, including .NET library
    classes (e.g., DataTable)
  • Simplifies javascript DHTML code on client
  • Powerful, simplified client-side object
    management
  • Leverage AppEx WSDL class definitions from
    Salesforce.com to DR server to client
  • No-Postback form field validation

14
Direct Response in Action Demo
15
Direct Response AJAX Library Used
  • Ajax.NET (AjaxPro)
  • First .NET AJAX library, continuous upgrades
    open source community support
  • Substantially endorsed by Microsoft prior to
    Atlas
  • Strengths Benefits
  • Reuse your existing .NET classes
  • Abstraction from XMLHttpRequest usage
  • Leverage built-in JSON engine to return complex
    data types to client, including .NET objects and
    any serializable custom objects
  • Simple implementation
  • Include AjaxPro library in project embeds
    javascript file in ASP.NET pages provides web
    service to handle asynchronous calls to server
    and serves as request/response broker to your
    .NET classes
  • Register your server-side classes as
    AjaxPro-enabled and then
  • Call methods normally from client-side
    javascript!
  • Download and information at http//www.schwarz-in
    teractive.de/

16
Direct Response Deep (Code) Dive
  • Retrieve org meta-data, dynamic ltselectgt
    population

17
Direct Response Deep (Code) Dive
  • Retrieving/Saving page content meta-data

18
AJAX Best Practices Considerations (aka Back
to the Future client-server, that is)
  • Define objectives/gains to be achieved
  • Usability
  • Is dynamic nature beneficial, necessary or just
    flashy
  • Consider true value-add to user experience when
    weighing AJAX vs. page postback
  • Performance
  • Can you or do you need to do things behind the
    scenes and is it worth it
  • Component re-use
  • Consider complexity of app when determining
    whether to build a hosted versus pure-client
    solution
  • Data model defining variability interactive
    nature of your page(s)
  • Single or few pages, 100 Salesforce-oriented or
    do not have hosting environment for application
  • client-side library Salesforce AJAX Toolkit
    usually the best bet
  • Significant composite application business logic
  • server-side AJAX library, such as Ajax.NET

19
AJAX Best Practices Considerations (aka Back
to the Future client-server, that is)
  • Beware moving (too much) business logic to the
    presentation layer
  • Remember client-server architecture pushed most,
    if not all, biz logic to client decidedly not a
    Web 2.0 concept, but AJAX is causing more of
    this!
  • Inherently, some business logic bleeds to the
    client-side javascript, but for debugging,
    patching, re-use and IP protection this should be
    mitigated as much as possible
  • AJAX DHTML tied at the hip
  • and tools to debug javascript not yet as robust
  • and js and CSS implemented differently in
    different browsers
  • and with Firefox, Opera, Safari, etc the
    post-Netscape world is not all IE anymore so
    plan development testing time accordingly

20
Other Considerations (your CIO Legal will
thank you!!!)
  • If using Open Source libraries for AJAX and/or
    DHTML
  • Understand nature of OS license (GPL vs. LGPL)
  • Evaluate source of code
  • Reputation
  • Private individual or company? Public or private?
  • Evaluate nature of code
  • Available how long?
  • Number of available alternatives
  • Community size, feedback, etc.

21
Resources
  • AppExchange Developer Network (ADN)
  • Comprehensive web site for AppExchange Developers
  • Documentation Samples (API, AJAX)
  • Developer community forum
  • www.salesforce.com/developer
  • AppExchange Developer Support (ADS)
  • Per-incident, code-level support for developers
    creating solutions on the AppExchange platform
  • Support for Custom apps, Custom integrations,
    S-Controls
  • 4 hour response time for logged cases
  • More info devsupport_at_salesforce.com

22
Resources, contd
  • Creating On-Demand Applications with AppExchange
  • Salesforce.com publication
  • Illustrates technologies and concepts required to
    develop AppExchange apps
  • AppExchange Laboratory (AppLab)
  • 5-day Hands-On Instructor Led Course
  • Instruction for how to build, deploy, and install
    native and composite AppExchange apps
  • For Developers, IT Managers and Power Users
  • More info and to register http//www.salesforce.c
    om/trainingsupport/workshops.jsp

23
Session FeedbackLet us know how were doing!
Session ID 245
Save time! Use your cell phone or mobile device
to send Feedback via SMS/Text Messaging!
  • Please score the session from 5 to 1
    (5excellent,1needs improvement) on the
    following categories
  • Overall rating of the session
  • Quality of content
  • Strength of presentation delivery
  • Relevance of the session to your organization

Send a message to 26335
In the message body Session 245,
Session ID
Scores for 4 categories
For example, Session 123, 5555
SMS Voting powered by
Write a Comment
User Comments (0)
About PowerShow.com