36
© 2013 IBM Corporation AD 405: Empower Your Social Business With SAP Processes Christian Holsing Business and technical strategy team

IBM Connect 2013 - AD405

Embed Size (px)

Citation preview

Page 1: IBM Connect 2013 - AD405

© 2013 IBM Corporation

AD 405: Empower Your Social Business With SAP ProcessesChristian HolsingBusiness and technical strategy team

Page 2: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Content

Social Business and why it is important

SAP News

Overview of SAP Integration options

Integrating SAP Solutions into─ IBM Connections

─ IBM WebSphere Portal

─ IBM Domino

─ Apache Open Office

Material

Page 3: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Social business makes business processes social in 4 ways

Reach people where they live and work

Connect through identities on consumer, b2b, and corporate social networks

Communicate on the associated channels

Monitor and analyze social data to discover new business insights

Analyze identities, social graphs, communications channels, and social content

Identify opportunities, problems, solutions, valuations, etc

Enable people to engage productively in a business context

Develop personal insights and social intelligence

Facilitate emergent processes

Act on insight for business advantage

Integrate social capabilities into the enterprise in order to act on new opportunities, make better decisions, optimize processes in real time, and govern and manage risk

Page 4: IBM Connect 2013 - AD405

© 2013 IBM Corporation

IBM Connections is the center of the Social Business – connected to the other solutions

IBM® WebSphere Portal®

3rd PartyTools

IBM® Notes® & IBM® Domino®

IBM®

Sametime®

IBM®

Connections® 4

Page 5: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP Key Focus areas

SAP® Hana®

─ In memory database appliance

─ New dimension of speed for BW queries and other large database analysis

Cloud delivery─ SAP is working on cloud delivery models

─ SAP® Business by Design® still sees slow uptake, SAP® Streamworks® is a cloud offering for collaborative decision making, SuccessFactors® a recent acquisition SAP made

Mobilizing SAP processes─ Following megatrend on Application support on mobile devices

─ SAP acquired Sybase® a few years back to strengthen mobility aspects

─ One key component of the mobile strategy / extended reach of SAP data is SAP® Netweaver Gateway® which exposes SAP data as an easy to consume and standards based Feed

– Stream based on OData

─ Social is an element of this play, e.g. SAP provides a “Social CRM” Application for tablets

Page 6: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP Integration options with core ICS productsThe ICS solution stack can integrate with SAP Solutions through various ways, based on the technology chosen:● All platforms can integrate

through JavaTM technologies, Web Services or OData

● IBM Domino also has a dedicated Connector available for integration

● Any of these options provides secure authentication to the SAP System, based on available authentication protocols

Page 7: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP Connector update

For Notes Domino customers, the IBM® Lotus Connector for SAP Solutions® is a great option to connect to classic SAP Interfaces (RFC / BAPI® Layer)

The connector can be leveraged in various flavors:─ With IBM® Lotus Enterprise Integrator®

─ With IBM® Domino Enterprise Connection Service® (DECS)

─ Within IBM® Lotus Script® Agents

Because the connector is a chargeable product, it comes with full IBM Support which ensures:

─ You can open PMR's against IBM on issues

─ There is dedicated support available, beyond newsgroups and websites

─ IBM is working on supporting changes on the SAP side

─ Current for new versions of Notes and Domino

Page 8: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP JCo - Overview

SAP® JCo® is a dedicated Java Connector for SAP Solutions that connects using the RFC / BAPI Interfaces

Requires a deep understanding of the SAP function and knowledge on specific SAP parameters

Most direct layer to interface

Uses same libraries on OS as SAP GUI

JCoDestinationManager

JCoDestination

JCoFunction

JCoTable

Class Model (simplified)

Page 9: IBM Connect 2013 - AD405

© 2013 IBM Corporation

OData4J - overview

OData4J is a Java toolkit to easily consume OData content

Big advantage is the toolkit does not rely on pre-compiled proxy classes but rather interprets the stream on the fly

Provides easy handling of the responses, as well as properties within the data Stream

Write operations are also very easy Requires SAP Netweaver Gateway to

be installed

Class Model (simplified)

ODataConsumer

OEntities

OEntity

behavior

Page 10: IBM Connect 2013 - AD405

10 © 2013 IBM Corporation

Page 11: IBM Connect 2013 - AD405

11 © 2013 IBM Corporation

Page 12: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP NetWeaver Gateway licensing example Netweaver Gateway introduces a new licensing model that consists of 2 components:

─ CAL

─ Transaction based Fee (per 75000 calls) SAP has various levels of CAL's available, Gateway introduces a new back-end CAL for access only

through Gateway, excluding SAP UI's

─ Removes commercial boundary IBM saw w/ Alloy and Portal Deals where a limited professional User was needed for Workflow approvals

─ Gartner Report on indirect Access Fee Sample calculation (Workflow approvals) for 1,000 user and 10,000 workflow's per year

─ Regular usage

– 2500€ per User x 1000 User = 2,500,000 €

─ Gateway access

– 500€ per User x 1000 User = 500,000 €

– 500€ per GW package x 44 = 22,000 €

522,000 € 16 call / day * 200 days * 1000 User = 3,200,00010000 Approvals x 5 calls = 50,000

Overall 3,250,000 Cals => 44 packages

Note:Prices are assumptions only, real license fee are subject to SAP's commercial offers

Page 13: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP is embracing OData as the Protocol for Netweaver Gateway OData is a protocol extending

AtomPub Standard

Literally data is made available as a feed

Every base service has a metadata object (/$metadata)

Base URL points to additional data feeds (nested feeds)

Data is pretty self explaining, SAP has added minor extensions to OData standard to reflect specific requirements

Common OData toolkits handle SAP extensions without problems

Gateway SP4 and above support JSon!

<atom:entry><atom:content type="application/xml"><m:properties><d:value>000000899757</d:value><d:scheme_id>IWF_USER_DECISION_TASK_GW</d:scheme_id><d:scheme_agency_id>ECC6</d:scheme_agency_id><d:status_txt>Ready</d:status_txt><d:type>W</d:type><d:note_count m:Type="Edm.Int16">0</d:note_count><d:created_at m:Type="Edm.DateTime">2011-09-15T00:00:00</d:created_at><d:gui_link/><d:priority>5</d:priority><d:start_dl m:Type="Edm.DateTime">0000-00-00T00:00:00</d:start_dl><d:act_dec/><d:reassign_by/><d:actual_owner/><d:reassign_to/><d:language>E</d:language><d:subject>Please approve/reject Purchase Order 4500017247</d:subject><d:task_name>WS99900236_0000000004</d:task_name><d:act_dec_agent/><d:created_by>SUPER</d:created_by><d:status>READY</d:status><d:end_dl m:Type="Edm.DateTime">0000-00-00T00:00:00</d:end_dl><d:reserved_by/></m:properties></atom:content><atom:id>http://gateway.isicc.de.ibm.com:8000/sap/opu/sdata/sap/WFDECISIONTASKPROCESSING/WorkflowTaskCollection(value='000000899757',scheme_id='IWF_USER_DECISION_TASK_GW',scheme_agency_id='ECC6')</atom:id><atom:link href="WorkflowTaskCollection(value='000000899757',scheme_id='IWF_USER_DECISION_TASK_GW',scheme_agency_id='ECC6')" rel="self" type="application/atom+xml;type=entry"/><atom:link href="SubscriptionCollection" rel="http://www.sap.com/Protocols/SAPData/rel#subscribe"/><atom:link href="WorkflowTask_ApplyRelease?value=000000899757&scheme_id=IWF_USER_DECISION_TASK_GW&scheme_agency_id=ECC6" rel="http://www.sap.com/Protocols/SAPData/rel#action" sap:semantics="action"/><atom:link href="WorkflowTask_ApplyReserve?value=000000899757&scheme_id=IWF_USER_DECISION_TASK_GW&scheme_agency_id=ECC6" rel="http://www.sap.com/Protocols/SAPData/rel#action" sap:semantics="action">

Page 14: IBM Connect 2013 - AD405

© 2013 IBM Corporation

A word on Authentication / Security

SAP Logons are usually done via user credentials (Username + Password) SAP Systems provide support for Single Sign On

─ SAP has an own security token called SSO2 token

─ Token is handled as Cookie and sent via http header to server

To request SSO2 token without logging in via UserName + Password, a set of options exist

─ Support for other tickets, e.g. Kerberos

─ Support of SAML (2.0 in newer SAP Netweaver Releases)

─ Support for SSO Tools like IBM Tivoli Access Manager

Any integration needs to solve the authentication problem─ For simple integrations, Username + password are sufficient

– SAP provide a technical user for simple- not user dependant – operations

─ More complicated operations mostly rely on token – especially to remove the need to sign into SAP after signing into an application before

Page 15: IBM Connect 2013 - AD405

© 2013 IBM Corporation

IBM Connections capabilities are relevant for SAP processes

HomeSee what's happening across your social network

Blogs*

Present your own ideas, hints & tips

CommunitiesWork with people who share common roles and expertise

Micro-bloggingReach out for help or share news with your social network

ProfilesFind the people you need

Social AnalyticsDiscover who and what you don’t know via recommendations

Bookmarks* Tell others what you consider important

Files*Post, share, and discover documents, presentations, images, and more

Wikis*Share Best Practices and edit Web Content

Activities*Organize your work and tap your professional network

ForumsExchange ideas with, and benefit from the expertise of others

Media LibraryWork with Pictures and Videos

IdeasShare and vote on Ideas

Connect Content ManagementManage most important documents (IBM Filenet, IBM CM8, MS SharePoint)

* use inside Communities, but also individually

IBM Connections

MobileiOS, Android, RIM

Page 16: IBM Connect 2013 - AD405

16 © 2013 IBM Corporation

A Central Component of Social Apps is the Activity Stream – which can contain SAP Events

Page 17: IBM Connect 2013 - AD405

© 2013 IBM Corporation

SAP NetWeaver Gateway is an easy enabler for SAP Events in the Activity Stream

Activity Streams provide a simple API that can be used for external systems to create events and assign them to a user / group

The aggregation of the events happen on the IBM Connections server

Users see the high-level details of the event, and can drill into the event through an embedded experience (OpenSocial Gadget)

─ Gadget can come from various sources

─ Can be reused e.g. within mail

Page 18: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Posting into the Activity Stream – JSON example

{ "generator": { "image": { "url": "http://i2.ytimg.com/vi/Q5CU9cMvk7k/hqdefault.jpg"}, "id": "ytapp", "displayName": "YouTube Application", "url": "http://www.youtube.com/" }, "actor": { "id": "@me" }, "verb": "post", "title": "Video has been posted and is live !", "content": " You have created a new YouTube video.", "updated": "2012-05-08T12:00:00.000Z", "object": { "summary": "Video posted to YouTube", "objectType": "note", "id": "yt12", "displayName": "YouTube Video", "url": "http://public.dhe.ibm.com/software/dw/lotus/ee/video.xml", }, "openSocial":{ "embed": { "gadget": "http://public.dhe.ibm.com/software/dw/lotus/ee/video.xml", "context": "Q5CU9cMvk7k" } } }

Fallback element

Embedded ExperienceReference

Activity Stream Content

Page 19: IBM Connect 2013 - AD405

© 2013 IBM Corporation

OpenSocial gadgets are used to render information within the activity stream

OpenSocial Gadgets are the way to render Information in the activity stream OpenSocial Gadgets provide basically 2 ways to create a gadget

─ Write a gadget against an OpenSocial API

─ Use a Gadget to point to a Web page (wrapper)

Experience so far shows that pointing to a html page is the easiest way to create a SAP experience, although it can probably also be done with the OpenSocial API

Now – the question is: How can the website be created?─ Any existing html page

─ A servlet that responds with html

─ CastIron as integration appliance

─ Web Experience Factory created Application

To make use of SAP data─ Connect directly to it and read the data (JCo & OData)

─ Convert OData Stream via XSLT transformation into HTML

Page 20: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Cast Iron enables easy integration also for other products in the Lotus Stack

Cast Iron is an integration Appliance that allows integration orchestrations based on assembling connectors and translation components

To integrate Gateway with connections, only http connectors are required

Page 21: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Servlet Code – SAP Jco (1)

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

PrintWriter out = response.getWriter();

response.setCharacterEncoding("text/html");

out.println("<html><body>");

out.println("<h1> SAP FLight Data</h1>");

// Connect to SAP

try {

JCoDestination destination = JCoDestinationManager.getDestination(ABAP_AS);

// trigger RFC

JCoFunction function = destination.getRepository().getFunction("BAPI_FLIGHT_GETLIST");

function.getImportParameterList().setValue("AIRLINE", "LH");

// call the function

function.execute(destination);

Page 22: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Servlet Code – SAP Jco (2)

// we only focus on the returned flight tables

JCoTable flights = function.getTableParameterList().getTable("FLIGHT_LIST");

System.out.println (function.toString());

System.out.println("number of results : " + flights.getNumRows());

for (int i = 0; i < flights.getNumRows(); i++)

{

flights.setRow(i);

System.out.println(flights.getString("AIRLINE") + '\t' + flights.getString("CONNECTID"));

out.println(flights.getString("AIRLINE") + '\t' + flights.getString("CONNECTID") + "</br>");

}

out.println ("</body></html>");

} catch (JCoException e)

{

out.println(e.toString());

}

}

Page 23: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Servlet Code - OData

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

PrintWriter out = response.getWriter();

response.setCharacterEncoding("text/html");

out.println("<html><body>");

out.println("<h1> SAP FLight OData</h1>");

try {

ODataConsumer c = ODataConsumer.create("http://9.153.165.205:8000/sap/opu/sdata/sap/Z_GWFLIGHT/",new BasicAuthenticationBehavior("user","pwd"));

System.out.println("Connected");

for(OEntity so : c.getEntities("z_gwsflightCollection").execute()) {

out.println(so.getProperty("value").getValue() + " " + so.getProperty("airline").getValue() +"</br>");

}

} catch (Exception e){

System.out.println (e.toString());

out.println(e.toString());

}

}

Page 24: IBM Connect 2013 - AD405

© 2013 IBM Corporation

OpenSocial is the standard for the Embedded Experience The easiest way to generate an OpenSocial Gadget is by using the OSDE

(http://code.google.com/p/opensocial-development-environment/) to generate the gadget and test it

Since OpenSocial 0.9, the easiest way to build a gadget is to point to an URL

Page 25: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Other interesting Connections based scenarios

Communities─ Integration of specific SAP Data into a community of interest:

─ Examples: Sales Data on a Client, CRM statistics in Marketing community

Automatic upload of Files to be share w/ Clients─ SAP produces a variety of documents – they can be shared w/ Clients via Files Service

─ Example: Sharing of order confirmations out of SAP into Connections

Smart Cloud for Social Business─ Cloud based collaboration services, ability to integrate and share more externally

─ Example: sharing of Invoices, Part Lists, aso

Page 26: IBM Connect 2013 - AD405

© 2013 IBM Corporation

It starts with being able to leverage your SAP investment with WebSphere Portal

U s e r I n t e r f a c e C o m p o n e n t( e . g . S A P P o r t a l i V i e w ,

A B A P W e b D y n p r o )

B u s i n e s s P a c k a g e( P a g e s , W o r k s e t s , R o l e s ,

N a v i g a t i o n s e r v i c e , … )

B u s i n e s s S e r v i c e( m a i n l y A B A P , s o m e J a v a )

B u s i n e s s S u i t e

• Expose SAP iViews in WebSphere Portal

• Bring Pages and Navigation elements from SAP Business Packages into WebSphere Portal

• Create new experiences with SAP services; integrate with other services

UI Level Integration Re-Use of SAP User Interface Components

Deep IntegrationService/API Access Custom User Interface

WebSphere Portal

Page 27: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Access Customer Information

Success Stories

HR Direct

Sales Online

Training

Careers

Employee Services

Help / FAQ

Related Links

APJ EMEAAmericas

Home Company Portfolio Employees Services Development Sales

BlueMarketing

Object Based Navigation

Session Management

Branding

SAP Netweaver Portal Services Based Portal Integration

Integrating SAP Portal content into a third party Portal, supports all the SAP Portal functionality (Object Based Navigation, Branding, Session Managements, etc.) required for end users to run SAP Business Applications in a secured, harmonized, scalable way.

Page 28: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Consuming SAP in Domino Applications

Customers run Domino and there is an ongoing desire to develop on top of Domino as a proven Rapid Application Development environment, either in the classic way or through XPages.

Where the Lotus Connector for SAP is still an available and valid option, the new technologies can also be leveraged inside Domino Applications

─ The newer SAP Interfaces (SOAP + OData) can easily be consumed inside a Domino Application

─ Easiest way to consume SAP is via Java code, either in

– Agents (for simple read write operations) in classical Domino Applications

– Java Beans for XPages Applications

SAP usually requires Authentication to access the system─ Plugins in SAP Netweaver are available to handle LTPA token

─ SSO tools like IBM® Tivoli Access Manager® can be used

─ Authentication via SAML

─ Basic authentication (username / password)

Decision on the right technology is mostly driven through the need of the specific application and the available skills, as well as the budget

Page 29: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Consume SAP in XPages through Java Beans

Gateway consumptionpackage com.ibm.chi;

import org.OData4j.consumer.ODataConsumer;import org.OData4j.consumer.behaviors.BasicAuthenticationBehavior;import org.OData4j.core.OEntity;import java.util.ArrayList;

public class GWFlightList {private ArrayList<OEntity> FlightList = null;

public ArrayList<OEntity> getFlights() {

ODataConsumer c = ODataConsumer.create("http://9.153.165.205:8000/sap/opu/sdata/sap/Z_GWFLIGHT/",new BasicAuthenticationBehavior("user","password"));

this.FlightList = new ArrayList<OEntity>();

for(OEntity flight : c.getEntities("z_gwsflightCollection").execute()){

this.FlightList.add(flight); }

return this.FlightList;}

}

SAP Connector code...

public class FlightList { private ArrayList<Flight> fl = null;

public ArrayList<Flight> getFlights() throws JCoException {

...... JCoFunction function =

destination.getRepository().getFunction("BAPI_FLIGHT_GETLIST"); function.getImportParameterList().setValue("AIRLINE", "LH"); if(function == null) throw new RuntimeException("BAPI not found in SAP.");

try { function.execute(destination); } catch(AbapException e) { return null; }

this.fl = new ArrayList<Flight>();

JCoTable flights=function.getTableParameterList().getTable("FLIGHT_LIST"); for (int i = 0; i < flights.getNumRows(); i++) { flights.setRow(i);

Flight fli = new Flight (); fli.setAirline(flights.getString("AIRLINE")); fli.setConnectid(flights.getString("CONNECTID")); fli.setFlightdate(flights.getString("FLIGHTDATE")); fli.setCityfrom(flights.getString("CITYFROM")); fli.setCityto(flights.getString("CITYTO")); fli.setDepttime(flights.getString("DEPTIME")); fli.setPrice(flights.getString("PRICE")); fli.setCurr(flights.getString("CURR")); this.fl.add(fli); } return fl; }

}

Page 30: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Agent example for direct consumption of SAP data (1)

try {

Session session = getSession();

AgentContext agentContext = session.getAgentContext();

// (Your code goes here)

Database db = agentContext.getCurrentDatabase();

Document doc = db.createDocument();

System.out.println("trying to connect");

// Call OData provider

ODataConsumer c = ODataConsumer.create("http://9.153.165.205:8000/sap/opu/sdata/sap/Z_GWFLIGHT/",new BasicAuthenticationBehavior("user","password"));

System.out.println("Connected");

Page 31: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Agent example for direct consumption of SAP data (2)

for(OEntity so : c.getEntities("z_gwsflightCollection").execute()) {

doc.replaceItemValue("value", so.getProperty("value").getValue());

doc.replaceItemValue("arrdate", so.getProperty("arrdate").getValue());

doc.replaceItemValue("cityto", so.getProperty("cityto").getValue());

doc.replaceItemValue("curr", so.getProperty("curr").getValue());

doc.replaceItemValue("arrtime", so.getProperty("arrtime").getValue());

doc.replaceItemValue("price", so.getProperty("price").getValue());

doc.replaceItemValue("curr_iso", so.getProperty("curr_iso").getValue());

doc.replaceItemValue("deptime", so.getProperty("deptime").getValue());

doc.replaceItemValue("cityfrom", so.getProperty("cityfrom").getValue());

doc.replaceItemValue("airline", so.getProperty("airline").getValue());

doc.replaceItemValue("airportto", so.getProperty("airportto").getValue());

doc.save();

doc = db.createDocument();

}

} catch(Exception e) {

e.printStackTrace();

}

Page 32: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Apache OpenOffice can consume SAP Data Easily - Example

ApacheTM Open OfficeTM is broadly supported by IBM and other players in the market as an alternative to Microsoft Office

IBM and SAP have worked together to develop a prototype for integration─ Consumption of SAP data through Spreadsheet editor

─ Updates via Spreadsheet, not SAP GUI

─ Automatic upload back into SAP ERP System

This closes a big gap for companies that would want to migrate to an OpenOffice solution, but do not have an answer for integrating w/ SAP

─ Big problem is the finance / Controlling department

IBM and SAP are looking for Clients that are looking for this integration. ─ Pls contact us if you are interested!

Page 33: IBM Connect 2013 - AD405

33 © 2013 IBM Corporation

Material on SAP Integration:

Whitepaper (available currently on request, drop me a Note)─ XPages Whitepaper

─ CastIron Whitepaper (servlet code to be added soon)

Links─ Lotus Connector for SAP Solutions

http://www.ibm.com/software/lotus/products/connectorsap/

SAP Netweaver Gateway Developer center

http://scn.sap.com/community/developer-center/netweaver-gateway

─ SAP ABAP Connectivity (JCo and Webservices)

http://wiki.sdn.sap.com/wiki/display/ABAPConn/ABAP+Connectivity+Home

Slidedecks─ Current decks are posted to Slideshare

www.slideshare.net/cholsing

Page 34: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Questions?

Page 35: IBM Connect 2013 - AD405

© 2013 IBM Corporation

Contact

Christian Holsing

IBM Collaboration Solutions – Business and Technical Strategy Team

IBM SAP International Competence CenterAltrottstrasse 3169190 Walldorf- Germany -

Phone: +49-7034-64-31021 | WalldorfOffice: +49 6227 73 1234 | Mobile: +49 160 96 93 69 01

Email: [email protected]

Page 36: IBM Connect 2013 - AD405

36 © 2013 IBM Corporation

Legal disclaimer

© IBM Corporation 2013. All Rights Reserved.

The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

SAP, SAP Business Suite, SAP NetWeaver Portal and SAP NetWeaver Gateway are the trademarks or registered trademarks of SAP AG in Germany and in several other countries.

Apache OpenOffice, OpenOffice and Apache are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries, and are used with permission. The Apache Software Foundation has no affiliation with and does not endorse, or review the materials provided at this event, which is managed by IBM.