Professional Documents
Culture Documents
Contributing Speaker(s)
Ulrich Klingels
Product Management, SAP AG
Learning Objectives
SAP Web AS Server and Cluster Architecture Reuse know-how and coding from Web AS classic
Use a central DB as configuration and application store Use enqueue service as reliable lock handler Use message service as message hub Use SDM (Software Delivery Manager) to keep track of deployed software components J supportability
Java Java
Database Instance
ABAP Schema Java Schema
Transport Organizer
EJB container
Manages the execution of enterprise beans for J2EE applications
J2EE Services
Foundation for implementation of multi-tier enterprise applications
Client
Servlets / JSPs
Web Container
EJBs
EJB Container
Database
JNDI
Local Development
Developer Workplace
SAP NetWeaver Developer Studio Local Web AS Java
Local PC
Development process
Develop Java sources in projects Java Source stored on the local file system on your PC Deploy projects to the local Java Engine Test the projects local Deploy projects to the central test system
Save File System Deploy
Web Container EJB Container
J2EE Services
J2EE
Java
Servlets can directly access resources like Enterprise JavaBeans components, JDBC data sources JSP Page is text file that hides HTTP complexity from programmer
HTTP Request
Servlet
generate
JSP
EJB Container
HTTP Response
Session Bean
Entity Bean
Messagedriven Bean
Containermanaged persistence
Beanmanaged Persistence
Session Beans
A session EJB represents a single client inside the application server A client accesses the application by invoking the session bean's methods Shields the client from complexity by executing business tasks inside the server A session bean is not shared at a certain point of time: it may have just one client Session beans are divided into two basic types:
Client
Client
Client
Stateful SessionBean
Stateless Not dedicated to one client pooled amongst a number of clients. Be aware that instance is reused for clients (initialize attributes) Stateful Is created for a specific client and not used (reused) by any others
Session Bean
Entity Bean
Typically, each entity bean has an underlying table in a relational database, and each instance of the bean corresponds to a row in that table
Database
Are persistent (dedicated load/store methods) Allow shared access Have primary keys May participate in relationships with other entity beans
Message-Driven Beans
MDBs were created to receive asynchronous JMS messages JMS supports Publish-andSubscribe (Topic) and Point-ToPoint (Queue) The container handles much of the setup required for JMS queues and topics The container sends all messages to the interested MDB MDB are statless No interfaces (Home/Component) Can consume and process messages concurrently
Java ~ ABAP
EJB Asynchronous (queue) ~ Call Function in update task
MDB A
MDB B
ejbejb-j2eej2ee-engine.xml
Bean configuration
provider.xml
SessionBean EntityBean
<enterprise-beans> <session> <ejb-name>CustomerServicesBean</ejb-name> <home>com.sap.fi.ejb.CustomerHome</home> ...... <ejb-class>com.sap.fi.ejb.CustomerBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> ...... </session> <entity> <ejb-name>CustomerEntityBean</ejb-name> <persistence-type>Container</persistence-type> ....... </entity> </enterprise-beans>
Deployment Descriptors
Java ~ ABAP
Deployment descriptor ~ program attributes
Project Types
Table
MyDictionaryProject MyDatabaseTable SDA
Deploy
Deploy
MyEJBModuleProject MyEntityBean
Deployment Descriptors
MySessionBean HelperClass
EJBJAR
Deployment Descriptors
MyEnterpriseApplProject
Deploy
EAR
MyWebModuleProject
Web
WAR
EJB
Web Dynpro
Presentation Layer
Business Application
Integration Layer
Java Dictionary
JSP
Web Services
EJB
Persistence
JDBC
WS Client
Development Environment
SOAP
SOAP
Virtual Interface
EJB
XI Server Proxy
BAPI
IDOC
RFC
Not supported
Foreign keys Same data types as ABAP No Domain concept No transport of content
Benefits
Enables database independency SQLJ is based on JDIC Included in Web Dynpro Open SQL features
Java ~ ABAP
Java Dictionary ~ Data Dictionary
Development support
Syntax check during implantation
Performance enhancements
Server side Table Buffer SQL Statement Cache SQL Trace
Vendor A JDBC Java ~ ABAP
Open SQL for Java ~ Open SQL for ABAP
SAP AG 2005, SAP TechEd 05 / CD102 / 26
...
Database A
Component Model
Web Dynpro
Web Dynpro
recommended Connectivity between ABAP and Java NOT recommended Connectivity between ABAP and Java Web Service consumer
Business Layer
EJB
FM / BAPI
JCo
Persistence
Open SQL
Open SQL
Web Service provider Any Web Service consumer can use any Web Service provider
Database Instance
ABAP Schema Java Schema
Summary
The Web AS is one platform supporting two technology
stacks
In addition to J2EE SAP provides tools and technologies
Further Information
Public Web
www.sap.com NetWeaver Developers Guide: www.sdn.sap.com/sdn/developersguide.sdn SAP Developer Network: www.sdn.sap.com Web Application Server SAP Customer Services Network: www.sap.com/services/ http://java.sun.com/docs/overviews/java/java-overview-1.html http://java.sun.com/j2ee/tutorial/
Questions?
Q&A
SAP AG 2005, SAP TechEd 05 / CD102 / 32
Feedback
Please complete your session evaluation. Be courteous deposit your trash, and do not take the handouts for the following session.
Thank You !
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.