This document provides an overview of using Java Server Pages (JSPs), resources, and internationalization in SAP Portals. It discusses how JSPs are compiled to Portal Components and integrated with HTMLB tags. It describes two methods for JSP integration: JSPDynpage, which uses a controller class and beans, and JSPNative, which compiles a single JSP directly to a component. The document also reviews using different types of resources like images, scripts, and XML files from components and recommends a file structure. Finally, it mentions internationalization at a high level.
JSP provides implicit objects that represent request, response, and session objects. These objects have different scopes: page, request, session, and application. The implicit objects allow access to these server-side objects from JSP. JSP actions like include, forward, plugin are processed during request processing to include, forward to, or embed resources. The useBean, getProperty, and setProperty actions allow interacting with JavaBeans in JSP.
The document provides an overview of JavaServer Pages (JSP) technology. It discusses what JSP is, how JSP pages work, common JSP elements like declarations, expressions, scriptlets, implicit objects, directives, and tags. Key points covered include how JSP pages are compiled into Java servlets, the JSP lifecycle, and how to include files, redirect to other pages, and use beans in JSP.
Java Web Programming [5/9] : EL, JSTL and Custom TagsIMC Institute
This document provides an overview of Expression Language (EL), JSTL (JSP Standard Tag Library) 1.1, and custom tags. It describes EL expressions, implicit objects, and attributes. It explains core JSTL tags for looping, conditionals, and URL manipulation. It also discusses using JSTL tags to connect to a database and format output. Finally, it outlines how to create a custom tag library with a TLD file, tag handler class, and JSP file to implement a simple tag.
Boston 2011 OTN Developer Days - Java EE 6Arun Gupta
The document provides an overview of new features in Java EE 6, including lightweight profiles, annotation-driven programming, and ease of development enhancements like packaging EJBs in WAR files. It lists the Java EE 6 specifications, major changes to specifications like JSF 2.0 and EJB 3.1, and new specifications like CDI 1.0.
Java Web Programming [3/9] : Servlet AdvancedIMC Institute
This document provides an overview of servlet advanced topics including including, forwarding to, and redirecting to other web resources. It discusses servlet and JDBC integration including using prepared statements and callable statements. It also covers session tracking APIs and how they can be used to maintain state across HTTP requests through different mechanisms like cookies or URL rewriting. Finally, it briefly introduces servlet scopes, listeners, and filters.
This document provides an overview of JSP (JavaServer Pages) basics. It discusses what JSP is, its advantages, the elements that make up a JSP file including directives, scripting elements, actions, and implicit objects. It also covers the JSP lifecycle, how JSP pages work, common directives like page and include, scripting elements like declarations, scriptlets and expressions, and standard actions like include, forward, useBean and setProperty. The document is intended to teach the fundamentals of JSP through explanations and examples.
JSP provides a scripting environment for Java code to generate dynamic web page content. Key elements include directives like <jsp:include> and <jsp:forward> for page composition, scriptlets for Java code, and expressions for output. The Expression Language (EL) offers a simpler way than scriptlets to access data and call methods. JSPs are compiled into servlets, so they can use Java classes and web technologies like MVC.
Introduction to the JSP technology for creating Java EE Web Applications, according to the MVC design pattern.
Materiale realizzato per il corso di Sistemi Informativi Aziendali del Politecnico di Torino - http://bit.ly/sistinfo
JSP provides implicit objects that represent request, response, and session objects. These objects have different scopes: page, request, session, and application. The implicit objects allow access to these server-side objects from JSP. JSP actions like include, forward, plugin are processed during request processing to include, forward to, or embed resources. The useBean, getProperty, and setProperty actions allow interacting with JavaBeans in JSP.
The document provides an overview of JavaServer Pages (JSP) technology. It discusses what JSP is, how JSP pages work, common JSP elements like declarations, expressions, scriptlets, implicit objects, directives, and tags. Key points covered include how JSP pages are compiled into Java servlets, the JSP lifecycle, and how to include files, redirect to other pages, and use beans in JSP.
Java Web Programming [5/9] : EL, JSTL and Custom TagsIMC Institute
This document provides an overview of Expression Language (EL), JSTL (JSP Standard Tag Library) 1.1, and custom tags. It describes EL expressions, implicit objects, and attributes. It explains core JSTL tags for looping, conditionals, and URL manipulation. It also discusses using JSTL tags to connect to a database and format output. Finally, it outlines how to create a custom tag library with a TLD file, tag handler class, and JSP file to implement a simple tag.
Boston 2011 OTN Developer Days - Java EE 6Arun Gupta
The document provides an overview of new features in Java EE 6, including lightweight profiles, annotation-driven programming, and ease of development enhancements like packaging EJBs in WAR files. It lists the Java EE 6 specifications, major changes to specifications like JSF 2.0 and EJB 3.1, and new specifications like CDI 1.0.
Java Web Programming [3/9] : Servlet AdvancedIMC Institute
This document provides an overview of servlet advanced topics including including, forwarding to, and redirecting to other web resources. It discusses servlet and JDBC integration including using prepared statements and callable statements. It also covers session tracking APIs and how they can be used to maintain state across HTTP requests through different mechanisms like cookies or URL rewriting. Finally, it briefly introduces servlet scopes, listeners, and filters.
This document provides an overview of JSP (JavaServer Pages) basics. It discusses what JSP is, its advantages, the elements that make up a JSP file including directives, scripting elements, actions, and implicit objects. It also covers the JSP lifecycle, how JSP pages work, common directives like page and include, scripting elements like declarations, scriptlets and expressions, and standard actions like include, forward, useBean and setProperty. The document is intended to teach the fundamentals of JSP through explanations and examples.
JSP provides a scripting environment for Java code to generate dynamic web page content. Key elements include directives like <jsp:include> and <jsp:forward> for page composition, scriptlets for Java code, and expressions for output. The Expression Language (EL) offers a simpler way than scriptlets to access data and call methods. JSPs are compiled into servlets, so they can use Java classes and web technologies like MVC.
Introduction to the JSP technology for creating Java EE Web Applications, according to the MVC design pattern.
Materiale realizzato per il corso di Sistemi Informativi Aziendali del Politecnico di Torino - http://bit.ly/sistinfo
In this Java JSP Training session, you will learn JSP. Topics covered in this session are:
• JSP vs Servlet
• LifeCycle of Servlet
• JSP Elements
• JSP Page directive
• Directives vs Action tags
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/jsp-and-servlets-designing-web-applications-with-java/
This document provides an introduction to Java Server Pages (JSP) technology. It explains that JSPs allow embedding Java code and dynamic content in HTML pages to create dynamic web applications. JSP pages are translated into servlets by the JSP engine. The document outlines the basic structure of JSP files and describes the different tag types including scriptlets, expressions, declarations, and directives that allow adding dynamic functionality to JSPs. It also introduces common implicit objects like request, response, out, and session that are available in JSP pages.
This document provides an introduction and overview of keyword search over spatial databases and approximate string matching for spatial queries. It discusses spatial approximate string queries that find objects within a spatial range that have similar descriptions to a query term. It also provides background on technologies like Java Server Pages, Java Script, and communicating with databases from Java.
The document discusses request/response protocols for client-side scripts, server-side scripts, and Java Server Pages. It explains how a server can interface with multiple clients simultaneously using threads. An experiment is described to demonstrate refreshing a JSP page from multiple browsers. The effect of file extensions like .html vs .jsp is also examined.
Content-Driven Web Applications with Magnolia CMS and Ruby on Railsbkraft
Instead of going with a traditional Java-only based stack, Dievision chose to integrate Magnolia CMS with (J)Ruby on Rails and to use Rails as the web development framework for its Magnolia-based sites.
In this session, will share some of our experiences with this approach. We will talk about the initial motivation and the differences the environment makes for a developer as well as for a team. You will learn about the practical aspects of the Java/Ruby co-existence, how to integrate Magnolia CMS with the Rails framework and how to work with JCR-based content from a Ruby perspective. Finally, we will cover some options of testing and deploying a site.
Java Web Programming [8/9] : JSF and AJAXIMC Institute
This document provides an overview of JavaServer Faces (JSF) and Asynchronous JavaScript and XML (AJAX). It describes JSF as a server-side user interface framework that uses components like UIForm and UIInput to build web applications. It also explains how AJAX allows for asynchronous client-server communication using XMLHttpRequest to update parts of a page without reloading. The key technologies discussed are JSF tags, configuration files, components and validators as well as the steps involved in an AJAX request like creating an XMLHttpRequest object and processing the response.
The document discusses Java Server Pages (JSP) technology which provides a simplified way to create dynamic web content. JSP pages are compiled into servlets, allowing developers to embed Java code directly into HTML pages to interact with databases and other applications. The document covers key aspects of JSP including its architecture, lifecycle, directives like include and taglib, and how it enables rapid development of web applications.
This document introduces the Model-View-Controller (MVC) pattern and its evolution in web application design. It discusses the Model 1 architecture which is page-centric, and the Model 2 architecture which is servlet-centric. Model 2 architecture separates the application into three logical layers - the model, the view, and the controller. Web application frameworks like Struts are also introduced, which are based on MVC Model 2 architecture and provide common functionality to web applications.
This slide is about basics of java servlet and java server page.
A basic example of JSP using multiple directives.
Further information of setting up and using of Apache Tomcat server.
The document discusses Java Server Pages (JSP). Some key points:
- JSP is a server-side technology that allows creating dynamic web applications using Java code and HTML/XML pages.
- JSP pages can access the full Java API and are compiled into servlets, allowing them to connect to databases and integrate with other Java technologies.
- A JSP page consists of HTML tags, JSP tags, and scriptlets containing Java code. The life cycle of a JSP page involves compilation, initialization, execution, and cleanup similar to servlets.
- JSP offers advantages over plain servlets like easier maintenance and faster development since logic is separated from presentation.
Servers - Apache Tomcat Server
Server-side scripts - Java Server Pages
The document discusses request/response protocols for client-side scripts versus server-side scripts like Java Server Pages. It explains how a server can interact with multiple concurrent clients through multi-threaded responses. HTML meta-tags can control the request/response interaction, and the file extension (.html vs .jsp) affects how the page is processed.
This document provides an overview of Java Server Pages (JSP) technology. Some key points:
- JSP allows separation of work between web designers and developers by allowing HTML/CSS design and Java code to be placed in the same file.
- A JSP page is compiled into a servlet, so it can take advantage of servlet features like platform independence and database-driven applications.
- JSP pages use tags like <jsp:include> and <jsp:useBean> to include content and access JavaBeans. Scriptlets, expressions, declarations, and directives are also used.
- Implicit objects like request, response, out, and session are automatically available in JSP pages
The document discusses implementing inter-servlet communication and working with filters in Java servlets. It describes using the RequestDispatcher object to forward requests between servlets, including transferring data. It also explains how filters can intercept and modify requests and responses between clients and servlets, giving an example IPFilter class that checks the client IP address.
Java Web Programming [2/9] : Servlet BasicIMC Institute
This document provides an overview of servlets, including:
- Servlets extend the functionality of HTTP servers and allow for dynamic content generation.
- Servlets handle requests and responses more efficiently than CGI due to being server-independent and allowing for session management.
- The servlet lifecycle includes initialization, request handling, and destruction. Common methods are init(), service(), doGet(), doPost(), and destroy().
- Servlets extract information from HTTP requests and use this to generate and return HTTP responses by setting headers and writing response content.
This document discusses JavaServer Pages (JSP) technology. It explains the components of a JSP page including directives, declarations, scriptlets, actions and implicit objects. It also describes the JSP lifecycle and how a JSP page is processed, including translation to servlet code, compilation, class loading and instance creation. Key aspects of the JSP lifecycle like the jspInit, jspService and jspDestroy methods are also outlined.
This document provides an introduction and overview of Struts, an MVC framework for Java web applications. It discusses Struts' main components and design patterns, including:
- Struts acts as an MVC framework, providing utilities for web app development using the MVC pattern.
- The framework has 3 main components - Controller, View, and Model.
- Struts uses the standard MVC design of separating data, presentation, and business logic into separate but interacting elements.
SAP's Java IDE is based on Eclipse and provides tools for developing Java applications on SAP systems. It includes a J2EE toolset with support for standard Java EE features and integration with SAP's J2EE engine. A model abstraction layer and graphics layer allow development objects to be logically presented and diagrammed. The tools are integrated with SAP infrastructure components like the design time repository, build service, and software logistics.
Memcache - Lightning fast object retrievalelliando dias
Memcache can improve site performance by caching content in memory for fast retrieval. It may be a good option if a site is too slow or cannot handle all requests. Memcache requires spare memory resources and adding memory servers is often the cheapest way to improve performance. It reduces PHP processing and database queries by caching content, which can improve site speeds.
In this Java JSP Training session, you will learn JSP. Topics covered in this session are:
• JSP vs Servlet
• LifeCycle of Servlet
• JSP Elements
• JSP Page directive
• Directives vs Action tags
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/jsp-and-servlets-designing-web-applications-with-java/
This document provides an introduction to Java Server Pages (JSP) technology. It explains that JSPs allow embedding Java code and dynamic content in HTML pages to create dynamic web applications. JSP pages are translated into servlets by the JSP engine. The document outlines the basic structure of JSP files and describes the different tag types including scriptlets, expressions, declarations, and directives that allow adding dynamic functionality to JSPs. It also introduces common implicit objects like request, response, out, and session that are available in JSP pages.
This document provides an introduction and overview of keyword search over spatial databases and approximate string matching for spatial queries. It discusses spatial approximate string queries that find objects within a spatial range that have similar descriptions to a query term. It also provides background on technologies like Java Server Pages, Java Script, and communicating with databases from Java.
The document discusses request/response protocols for client-side scripts, server-side scripts, and Java Server Pages. It explains how a server can interface with multiple clients simultaneously using threads. An experiment is described to demonstrate refreshing a JSP page from multiple browsers. The effect of file extensions like .html vs .jsp is also examined.
Content-Driven Web Applications with Magnolia CMS and Ruby on Railsbkraft
Instead of going with a traditional Java-only based stack, Dievision chose to integrate Magnolia CMS with (J)Ruby on Rails and to use Rails as the web development framework for its Magnolia-based sites.
In this session, will share some of our experiences with this approach. We will talk about the initial motivation and the differences the environment makes for a developer as well as for a team. You will learn about the practical aspects of the Java/Ruby co-existence, how to integrate Magnolia CMS with the Rails framework and how to work with JCR-based content from a Ruby perspective. Finally, we will cover some options of testing and deploying a site.
Java Web Programming [8/9] : JSF and AJAXIMC Institute
This document provides an overview of JavaServer Faces (JSF) and Asynchronous JavaScript and XML (AJAX). It describes JSF as a server-side user interface framework that uses components like UIForm and UIInput to build web applications. It also explains how AJAX allows for asynchronous client-server communication using XMLHttpRequest to update parts of a page without reloading. The key technologies discussed are JSF tags, configuration files, components and validators as well as the steps involved in an AJAX request like creating an XMLHttpRequest object and processing the response.
The document discusses Java Server Pages (JSP) technology which provides a simplified way to create dynamic web content. JSP pages are compiled into servlets, allowing developers to embed Java code directly into HTML pages to interact with databases and other applications. The document covers key aspects of JSP including its architecture, lifecycle, directives like include and taglib, and how it enables rapid development of web applications.
This document introduces the Model-View-Controller (MVC) pattern and its evolution in web application design. It discusses the Model 1 architecture which is page-centric, and the Model 2 architecture which is servlet-centric. Model 2 architecture separates the application into three logical layers - the model, the view, and the controller. Web application frameworks like Struts are also introduced, which are based on MVC Model 2 architecture and provide common functionality to web applications.
This slide is about basics of java servlet and java server page.
A basic example of JSP using multiple directives.
Further information of setting up and using of Apache Tomcat server.
The document discusses Java Server Pages (JSP). Some key points:
- JSP is a server-side technology that allows creating dynamic web applications using Java code and HTML/XML pages.
- JSP pages can access the full Java API and are compiled into servlets, allowing them to connect to databases and integrate with other Java technologies.
- A JSP page consists of HTML tags, JSP tags, and scriptlets containing Java code. The life cycle of a JSP page involves compilation, initialization, execution, and cleanup similar to servlets.
- JSP offers advantages over plain servlets like easier maintenance and faster development since logic is separated from presentation.
Servers - Apache Tomcat Server
Server-side scripts - Java Server Pages
The document discusses request/response protocols for client-side scripts versus server-side scripts like Java Server Pages. It explains how a server can interact with multiple concurrent clients through multi-threaded responses. HTML meta-tags can control the request/response interaction, and the file extension (.html vs .jsp) affects how the page is processed.
This document provides an overview of Java Server Pages (JSP) technology. Some key points:
- JSP allows separation of work between web designers and developers by allowing HTML/CSS design and Java code to be placed in the same file.
- A JSP page is compiled into a servlet, so it can take advantage of servlet features like platform independence and database-driven applications.
- JSP pages use tags like <jsp:include> and <jsp:useBean> to include content and access JavaBeans. Scriptlets, expressions, declarations, and directives are also used.
- Implicit objects like request, response, out, and session are automatically available in JSP pages
The document discusses implementing inter-servlet communication and working with filters in Java servlets. It describes using the RequestDispatcher object to forward requests between servlets, including transferring data. It also explains how filters can intercept and modify requests and responses between clients and servlets, giving an example IPFilter class that checks the client IP address.
Java Web Programming [2/9] : Servlet BasicIMC Institute
This document provides an overview of servlets, including:
- Servlets extend the functionality of HTTP servers and allow for dynamic content generation.
- Servlets handle requests and responses more efficiently than CGI due to being server-independent and allowing for session management.
- The servlet lifecycle includes initialization, request handling, and destruction. Common methods are init(), service(), doGet(), doPost(), and destroy().
- Servlets extract information from HTTP requests and use this to generate and return HTTP responses by setting headers and writing response content.
This document discusses JavaServer Pages (JSP) technology. It explains the components of a JSP page including directives, declarations, scriptlets, actions and implicit objects. It also describes the JSP lifecycle and how a JSP page is processed, including translation to servlet code, compilation, class loading and instance creation. Key aspects of the JSP lifecycle like the jspInit, jspService and jspDestroy methods are also outlined.
This document provides an introduction and overview of Struts, an MVC framework for Java web applications. It discusses Struts' main components and design patterns, including:
- Struts acts as an MVC framework, providing utilities for web app development using the MVC pattern.
- The framework has 3 main components - Controller, View, and Model.
- Struts uses the standard MVC design of separating data, presentation, and business logic into separate but interacting elements.
SAP's Java IDE is based on Eclipse and provides tools for developing Java applications on SAP systems. It includes a J2EE toolset with support for standard Java EE features and integration with SAP's J2EE engine. A model abstraction layer and graphics layer allow development objects to be logically presented and diagrammed. The tools are integrated with SAP infrastructure components like the design time repository, build service, and software logistics.
Memcache - Lightning fast object retrievalelliando dias
Memcache can improve site performance by caching content in memory for fast retrieval. It may be a good option if a site is too slow or cannot handle all requests. Memcache requires spare memory resources and adding memory servers is often the cheapest way to improve performance. It reduces PHP processing and database queries by caching content, which can improve site speeds.
Memcache is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
This presentation discusses using Terracotta Ehcache to scale ColdFusion applications. It covers caching basics and options like on-heap, off-heap, and distributed caching. Attendees will learn how to configure Ehcache and Terracotta to enable distributed caching for ColdFusion to improve performance and scalability. Real-world customer examples are provided that demonstrate how Terracotta Ehcache helped online payment processors detect fraud faster and assisted Healthcare.gov in reducing response times.
Agenda:
Red Hat JBoss and SAP Collaboration
Red Hat JBoss - Overview
SAP Netweaver Gateway
SAP PartnerEdge program for Application Development
Call to Action
Q&A
Predicting Defects in SAP Java Code: An Experience Reporttilman.holschuh
Which components of a large software system are the
most defect-prone? In a study on a large SAP Java system,
we evaluated and compared a number of defect predictors,
based on code features such as complexity metrics, static
error detectors, change frequency, or component imports,
thus replicating a number of earlier case studies in an industrial
context. We found the overall predictive power to
be lower than expected; still, the resulting regression models
successfully predicted 50–60% of the 20% most defectprone
components.
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...elliando dias
This document summarizes a presentation on distributed caching using the JCACHE API and ehcache. The presentation covers how to use ehcache to cache web pages, database queries, and configure distributed caching across multiple servers. It also discusses the JSR 107 JCACHE specification and its implementation in ehcache. The presentation concludes with a case study of caching at Wotif.com.
SAP Integration with Red Hat JBoss Technologieshwilming
SAP ERP provides different approaches to integrate Java applications with business logic written in ABAP. With JBoss Fuse, the SOA Platform, and Data Services Platform, Red Hat offers flexible middleware solutions for service-oriented integration and orchestration. As a leading provider of integrated solutions and longtime Premier Partner, akquinet has a long history of projects integrating individual applications based on JBoss with standard ERP software such as SAP or Navision.
Based on various real world examples, we will show different ways to integrate SAP ABAP backends with JBoss Middleware. We will discuss the pros and cons of integrating Java EE applications using (a) the REST based approach with NetWeaver Gateway, (b) JBoss Data Services Platform with NetWeaver Gateway (c) SOAP based Web Services and (d) Remote Function Calls with the Java EE Connector Architecture (JCA) and the SAP Java Connector (JCo) library
Memcached: What is it and what does it do? (PHP Version)Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good. Memcached is a distributed memory based caching system. But, what does that mean for you? This session willcover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what isin my cache? All these questions and more will be answered.
The document discusses caching and new features in Ehcache 2 and Hibernate caching. It describes reasons for caching like offloading resources, improving performance, and enabling scalability. It discusses how caching works by leveraging principles of locality of reference and Pareto distributions. It also covers challenges like data size, staleness, and maintaining coherency in a clustered environment.
This document summarizes a presentation on Memcached. It discusses how the rise of dynamic web content has increased database load. Memcached is presented as a solution to alleviate this by caching objects in memory for fast retrieval. The architecture of Memcached is explained, involving clients hashing keys to distribute requests across Memcached servers. Best practices like caching expensive operations and using consistent hashing are also covered.
Who's online, how they're using the Web, and what they're accessing have changed significantly over the last few years. All these factors are straining websites, and their outdated architectures. This presentation covers these changes by the numbers and looks at the emergence of a Web scale architecture that takes advantage of Memcached to improve performance and scalability of today's dynamic websites. The recorded webinar is now available at: http://bit.ly/aPe2T.
Practical SAP pentesting workshop (NullCon Goa)ERPScan
All business processes are generally contained in ERP systems. Any information an attacker might want is stored in a company’s ERP. This information can include financial, customer or public relations, intellectual property, personally identifiable information and more. And SAP is the most popular business application vendor with more than 250000 customers worldwide.
The workshop conducted by Alexander Polyakov, CTO of ERPScan, at NullCon Goa Conference is a practical SAP pentesting guide.
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
Cuckoo is an open source Resource Adapter for SAP that is compatible to the Java Connector Architecture (JCA) version 1.5.
It enables developers of Java EE applications to call functions in a SAP backend, making use of Java EE features like Container Managed Transactions and Security.
Hibersap helps developers of Java applications to call business logic in SAP backends. It defines a set of Java annotations to map SAP function modules to Java classes as well as a small, clean API to execute these function modules and handle transaction and security aspects.
Hibersap's programming model is quite similar to those of modern O/R mappers, significantly speeding up the development of SAP interfaces and making it much more fun to write the integration code.
A presentation on how automatic memory management and adaptive compilation impact on latency of applications. Includes some ideas on how to minimise these affects.
Intégration Hybris / SAP
SAP JAVA Connector
PLAN
Introduction
Solution d’intégration Asynchrone
Solution d’intégration Synchrone
SAP Java Connector
Abréviation : SAP JCO
L’objectif:
Définir UN middleware QUI assure la communication avec SAP.
Supporter l’implémentation des applications Desktop & Web.
Caractéristiques SAP JCO :
basé sur JNI - Java Native Interface- CE qui permet d’accéder à bibliothèque CPI-C (Common Programming Interface - Communications) .
EFFectue des apples à des function En mode inbound (Java client appel BAPI OU RFM) OU outbound (ABAP calls external Java Server).
SAP Jco est mutli-Platforms.
Architecture SAP JAVA CoNNECTOR
SAP JCO BAPI
Business Application Programming Interface : des interfaces de programmation normalisées qui permettent aux programmes externes d'avoir accès aux données et aux processus de gestion du système SAP.
SAP JCO JAR
Etablissement de connexion .
Execution des Functions.
accès Et La navigation dans les tables.
Mapping ENTRE ABAP et JAVa data types.
Programmation multithreading.
Gestion des exceptions.
Développement BAPI
Exemple BAPI Stock :
Paramètres BAPI INPUT
Tester BAPI Dans SAP
Télécharger et installer SAP GUI ( SAP logon) :
Tester BAPI Dans SAP
Configuration SAP GUI ( SAP logon) :
Tester BAPI Dans SAP
Connexion SAP GUI ( SAP logon) :
Tester BAPI Dans SAP
Tester BAPI Dans SAP
Tester BAPI Dans SAP
Configurer DESTINATION RFC
L’ajout des extensions SAP Comme DES dépendances de projet dans le fichier localextensions.xml.
Création ou modification de l’impex de création de la RFC destination : sap.impex
Développer BAPI Dans Hybris
Les étapes à suivre :
Récupérer Une Connexion.
Récupérer La fonction BAPI.
Définir les paramètres d’import de la. Fonction BAPI.
Exécuter la fonction.
Récupérer les paramètres d’Export de la fonction.
Récupérer Stock
Conclusion
L’intégration entre SAP / Hybris S’impose Jour après Jour
; Personne N’est à l’abris de cette mutation.
L'intégration SAP / Hybris s’effectue Selon deux mode Synchrone à l’aide de SAP JAVA Connector et Asynchrone à l’aide de DataHUB.
SAP JAVA Connector se base Sur la Notion des BAPIs: des interfaces de programmation normalisées qui permettent aux programmes externes d'avoir accès aux données et aux processus de gestion du système SAP.
SAP LOGON GUI Permet de Tester les BAPI DANS SAP.
Pour plus de détails sur hybris-SAP Solution Integration , Rendez-vous sur : https://wiki.hybris.com/display/release5/Getting+Started+with+hybris-SAP+Solution+Integration
MERCI Pour Votre Attention
Ehcache is an open source Java caching library that provides fast, scalable caching for applications. It allows for in-process caching with single nodes or distributed caching across multiple nodes. Ehcache provides features like memory and disk storage, replication, search capabilities, and integration with Terracotta for distributed caching. It uses common caching patterns like cache-aside, read-through, write-through, and cache-as-sor. Ehcache has a simple API and is lightweight, scalable, and standards-based.
Implementing High Availability Caching with MemcachedGear6
Typical Memcached deployments do not comprehensively address web site requirements for high availability. Depending on your web architecture, a single failure can disable your web caches. This presentation offers real world solutions to solving <a>high availability</a> challenges common to large, dynamic websites with Memcached, specifically:
* Options and benefits for deploying high availability services within Memcached
* How companies are approaching high availability
* Considerations on building and deploying high availability
o Recommendations for a typical Memcached environment
o Open source tools available
o High level costs for deployment
The document discusses integrating Node.js with PHP by sharing session data stored in Memcached or Redis. It provides examples of using a Memcached session handler in PHP that serializes session data to JSON, and an example Node.js app that retrieves session data from Memcached to identify users. While Node.js enables real-time features, the document argues that PHP still has advantages for many use cases and that the right tool should be chosen for the job.
This document provides an overview of Java Server Pages (JSP) technology. It discusses JSP architecture and components like expressions, scriptlets, declarations, comments, directives, standard actions, implicit objects, and JavaBeans. Expression Language (EL) is also introduced, which allows accessing Java objects in JSP using a simpler syntax. Key elements like scopes, operators, and implicit objects available in EL are explained.
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 7 ...WebStackAcademy
Creating JavaServer Pages (JSP) files
Most types of JSP files can be created using the New JSP File wizard. To create a basic JSP file using the wizard, complete the following steps:
Create a dynamic Web project if you have not already done so.
In the Project Explorer, expand your project and right click on your WebContent folder or on a subfolder under WebContent. Note that if you choose any other folder in which to create the JSP, then it will not be included in the WAR file that is deployed to the server. In addition, link validation will not encompass files that are not under the WebContent folder.
From the context menu, select New > JSP. The New Java Server Page window appears with your folder selected
Type a file name into the File name field, making sure you include the jsp extension (jsp, jsv, jtpl, or jspx) in the file name.
You have several options for proceeding:
To accept the defaults associated with a new JSP file, select Finish.
To link to a file in the file system and specify path variables, select Advanced and then make your selections using the Browse and Variables buttons.
To use a template file for the initial content of your JSP page, select Next. The Select JSP Template window appears. Select the Use JSP Template check box, and then select one of the sample templates. You can also select the JSP Templates link to add or remove JSP templates to your list of templates.
In this session you will learn:
Including Files at Request Time: jsp:include
Understanding jsp:include vs. <%@ include … %>
Options for Deploying Applets
Using jsp:plugin
Attributes of the jsp:plugin Element
Using JavaBeans Components in JSP Documents
Background: What Are Beans?
Using Beans: Basic Tasks
Setting Simple Bean Properties: jsp:setProperty
JSP Page That Uses StringBean(Code)
Conditional Bean Operations
Sharing Beans in Four Different Ways
Session-Based Sharing: Code
Application-Based Sharing: Code
Application-Based Sharing: Result
For more information, visit this link: https://www.mindsmapped.com/courses/software-development/online-java-training-for-beginners/
The document provides an overview of JavaServer Pages (JSP) technology. It discusses how JSP pages allow mixing static HTML content with server-side Java code to create dynamic web pages. JSP pages are compiled into Java servlets, which generate the HTML responses. The document covers JSP syntax elements like scriptlets, expressions, and directives that allow embedding Java code in JSP pages. It also discusses JSP lifecycle phases like translation, compilation, execution and cleanup. Common JSP actions like include, forward, plugin and working with JavaBeans are also summarized.
Internet and Web Technology (CLASS-14) [JSP] | NIC/NIELIT Web Technology Ayes Chinmay
The document provides information on the topics of Node.js, JSP, and Servlet from a course on Internet and Web Technology. It includes brief introductions and definitions of Node.js, JSP concepts like scripting elements, directives, implicit objects, and the JSP lifecycle. It also discusses using JSP scriptlet, expression, and declaration tags. Examples are given for requesting parameters in JSP and using implicit objects like request.
The document discusses advanced features of the AjaxTags Library including autocomplete textboxes that populate associated values in other textboxes. It provides an example of an autocomplete textbox that populates a secondary textbox with a linked Spanish word when an English animal is selected. The server-side code returns an XML list with names and values to map selections to the secondary field. Training courses are also advertised on Ajax, Java EE and other technologies.
JSP is a technology based on Java that produces dynamic web pages. JSP files contain HTML tags as well as special JSP tags where Java code is embedded. There are three main types of JSP elements - directives, scripting elements, and action elements. Directives provide information to the JSP engine, scripting elements contain Java code, and action elements perform tasks like accessing Java beans. Common implicit objects in JSP include application, page, session, and request objects. Java beans can be used with JSP through action tags like useBean, setProperty, and getProperty.
In this Java JSP Training session, you will learn JSP. Topics covered in this session are:
• JSP (Java Server Pages Technology)
• JSP vs Servlet
• MVC Architecture
• Scriplet
For more information, visit this link:
https://www.mindsmapped.com/courses/software-development/jsp-and-servlets-designing-web-applications-with-java/
The document discusses different ways to invoke Java code from JSP pages, including JSP expressions, scriptlets, and declarations. It provides examples of each and explains how they correspond to code in the generated servlet class. Expressions output a value, scriptlets can contain multiple statements, and declarations define fields and methods in the servlet class. The document also compares using JSP pages versus servlets for similar tasks and recommends limiting Java code in JSP pages.
This document provides an overview of Java Server Pages (JSP) technology. It discusses how JSP pages combine HTML/XML markup with Java code to create dynamic web content. Key points include:
- JSP pages are converted into Java servlets by the JSP container/engine to generate HTML responses. This allows accessing Java APIs and databases.
- Common JSP elements like scriptlets, expressions, declarations, comments, and directives allow embedding Java code in JSP pages.
- The JSP lifecycle mirrors the servlet lifecycle with phases like initialization, execution, and destruction.
- Standard Tag Libraries (JSTL) provide commonly used tags to simplify tasks like iteration, conditionals,
Java Server Pages (JSP) allow you to separate the dynamic parts of your web pages from the static HTML. You write normal HTML code using a web page authoring tool, and then enclose dynamic code sections within special tags that mostly start with "<%" and end with "%>". JSP provides various tags like scriptlets, expressions, comments, and directives to embed Java code within web pages to add dynamic functionality. Common uses of JSP include dynamically generating content, connecting to databases to retrieve and display data, and controlling the page flow based on user input.
Java Server Pages (JSP) allow you to separate the dynamic parts of your web pages from the static HTML. You write normal HTML code using a web page authoring tool, and then enclose dynamic code sections within special tags that mostly start with "<%" and end with "%>". JSP provides various tags like scriptlets, expressions, comments, and directives to embed Java code within web pages to add dynamic functionality. Common uses of JSP include dynamically generating content, connecting to databases to retrieve and display data, and controlling the page flow based on user input.
The document discusses Java Server Pages (JSP) technology. It covers what JSP is, how JSP pages are processed, common JSP elements like scriptlets and directives, and how to use JavaBeans with JSP using tags like <jsp:useBean>, <jsp:setProperty>, and <jsp:getProperty>.
Presented at 3|SHARE's EVOLVE'14 - The Adobe Experience Manager Community Summit on Tuesday November 18th, 2014 at the Hard Rock Hotel in San Diego, CA. evolve14.com
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
2. SAP AG 2002, Title of Presentation, Speaker Name 2
WelcomeWelcomeWelcomeWelcome
! Target audience:
" Anyone interested in understanding how to integrate Java Server Pages, other
resources (HTML, JavaScript and Applets), re-use classes and resources and the
basics of internationalization.
! Skills Needed
" Familiar with HTML, Java Server Pages
" Familiar with Java Programming Concepts
3. SAP AG 2002, Title of Presentation, Speaker Name 3
Using Java Server Pages
Using Resources
Internationalization
AgendaAgendaAgendaAgenda
Re-Using Resources & Classes
4. SAP AG 2002, Title of Presentation, Speaker Name 4
Using Java Server Pages
Using Resources
Internationalization
Unit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & Internationalization
Re-Using Resources & Classes
5. SAP AG 2002, Title of Presentation, Speaker Name 5
Using Java Server PagesUsing Java Server PagesUsing Java Server PagesUsing Java Server Pages
! JSPs & Java iView runtime
! JSPs & HTMLB
! Methods for JSP integration
6. SAP AG 2002, Title of Presentation, Speaker Name 6
JSPsJSPsJSPsJSPs & Java iView runtime& Java iView runtime& Java iView runtime& Java iView runtime
myjsp.jsp
public class _sapportalsjsp_myjsp extends AbstractPortalComponent implements
INonCachablePortalComponent
{
public void doContent(IPortalComponentRequest componentRequest,
IPortalComponentResponse aResponse)
{
HttpServletRequest request = componentRequest.getServletRequest();
JSPResponse response = new JSPResponse(aResponse);
JspFactoryImpl factory = new JspFactoryImpl();…
The Java iView Runtime(PRT) provides support for Java Server Pages by compiling
the JSPs to Portal Components (standard JSPs are compiled to HttpServlets).
Compiled JSPs can be found under:
%TOMCAT_HOME%webappsirjWEB-INFpluginsportalresources<component name>work
Note:
In order to compile the generated JSP pages at run-time the PRT needs the tools.jar file of the JDK. By default
tools.jar is retrieved with the system property java.home defined by the JDK. If tools.jar is not in the java.home folder
the property "jsp.addclasspath" in the file "workplace.properties" can be used to define the location of the tools.jar
file.
%TOMCAT_HOME%webappsirjWEB-INFpluginsportal systemproperties
Compiled to AbstractPortalComponent
7. SAP AG 2002, Title of Presentation, Speaker Name 7
JSPs & Java iView runtimeJSPs & Java iView runtimeJSPs & Java iView runtimeJSPs & Java iView runtime ImpImpImpImplicit Objects
Original Request object.javax.servlet.http.HttpServletRequestrequestrequest
out
session
pageContext
response
componentRequest
JSP iView Object
javax.servlet.jsp.JspWriterout
Specific Portal
implementation.
javax.servlet.http.HttpSessionsession
Not fully supportedjavax.servlet.jsp.PageContextpageContext
The Portal Component
Response.
com.sapportals.portal.prt.IPortalCom
ponentResponse
response
The Portal Component
Request.
com.sapportals.portal.prt.IPortalCom
ponentRequest
---
CommentsClass
Similar
standard JSP
Object
Only available on Error
Page.
Java.lang.Throwableexceptionexception
javax.servlet.ServletConfigconfigconfig
Directives: page, include supported
http://localhost:8080/irj/resources/com.sapportals.pdk.documentation.HowToDevelopMyPortalComponent/docs/JSP_Support.html
8. SAP AG 2002, Title of Presentation, Speaker Name 8
Using Java Server PagesUsing Java Server PagesUsing Java Server PagesUsing Java Server Pages
! JSPs & Java iView runtime
! JSPs & HTMLB
! Methods for JSP integration
9. SAP AG 2002, Title of Presentation, Speaker Name 9
JSPs & HTMLBJSPs & HTMLBJSPs & HTMLBJSPs & HTMLB
.Java
TextView t = new TextView();
t.setText("Hello World!");
JSP:
<hbj:textView text="Hello World"/>
Wrap components with custom JSP tags !
10. SAP AG 2002, Title of Presentation, Speaker Name 10
JSPs & HTMLBJSPs & HTMLBJSPs & HTMLBJSPs & HTMLB Important Stuff!!!!
The physical location of the HTMLB tag library:
" %TOMCAT_HOME% webappsirjserviceshtmlbtaglib
Using the Taglib Provided by Portal services
All JSP that are compiled into a Portal Component can use tag libraries provided
by the PRT services (e.g. HTML-Business for Java (HTMLB)).
" The tag library definition file must be referenced in the property file of the Portal
Component.
$ tagLib.value =/SERVICE/htmlb/taglib/htmlb.tld
" Within the JSP file itself the tab library needs to be referenced
$ At the beginning of the JSP file that is using the tag library the custom tag library
definition property has to be declared:
$ <%@ taglib uri="tagLib" prefix="hbj" %>
Examples
1. Entries in property file default.properties to use the HTMLB service and tag
library:
2. Beginning of JSP file that is using HTMLB tags
11. SAP AG 2002, Title of Presentation, Speaker Name 11
JSPs & HTMLBJSPs & HTMLBJSPs & HTMLBJSPs & HTMLB
<%@taglib uri="tagLib" prefix="hbj" %>
<hbj:content id="myContext" >
<hbj:page title="Hello World">
<hbj:form>
<hbj:textView id="welcome">
<%
welcome.setText("Hello World");
%>
</hbj:textView>
</hbj:form>
</hbj:page>
</hbj:content>
Hello worldHello worldHello worldHello world …………Using JSPsUsing JSPsUsing JSPsUsing JSPs
12. SAP AG 2002, Title of Presentation, Speaker Name 12
Using Java Server PagesUsing Java Server PagesUsing Java Server PagesUsing Java Server Pages
! JSPs & Java iView runtime
! JSPs & HTMLB
! Methods for JSP integration
13. SAP AG 2002, Title of Presentation, Speaker Name 13
Methods for JSP integrationMethods for JSP integrationMethods for JSP integrationMethods for JSP integration
! JSPDynpage
! JSPNative
14. SAP AG 2002, Title of Presentation, Speaker Name 14
JSPDynPageJSPDynPageJSPDynPageJSPDynPage
! JSPDynpage Model
! Usage of Beans
! Example
15. SAP AG 2002, Title of Presentation, Speaker Name 15
DynPage
Extends PageProcessorComponent
JSPDynPage ModelJSPDynPage ModelJSPDynPage ModelJSPDynPage Model
AbstractPortalComponent implements
IPortalComponent Interface
public abstract class
PageProcessorComponent extends
AbstractPortalComponent
PageProcessorComponent is the base
class for Htmlb component that want to
use the DynPage programming model
within the Portal Runtime
JSPDynPage is a special implementation
to enable usage of a DynPage in
combination with JSPs in the Portal
environment.
First step is to define a class that works as
loader class - it inherits from the
PageProcessorComponent. The created
loader class executes the method
getPage() and returns a unique value of
the JSP DynPage
AbstractPortalComponent
Implements
IPortalComponent Interface
PageProcessorComponent
Extends AbstractPortalComponent
Introducing JSPDynPage Model
JSPDynPage
Extends DynPage
16. SAP AG 2002, Title of Presentation, Speaker Name 16
JSPDynpageJSPDynpageJSPDynpageJSPDynpage ModelModelModelModel
Request
doProcessAfterInput
JSPDynPage
PageProcessorComponent
doInitialization
doProcessBeforeOutput
17. SAP AG 2002, Title of Presentation, Speaker Name 17
JSPDynPageJSPDynPageJSPDynPageJSPDynPage
! JSPDynpage Model
! Usage of Beans
! Example
18. SAP AG 2002, Title of Presentation, Speaker Name 18
Usage of BeanUsage of BeanUsage of BeanUsage of Bean
For complex applications, it is suitable to separate not only the logic from the view, but also the
data from the logic.
This leads to a Model-View-Controller architecture:
JspDynPage
(Controller)
Data Bean (Model) JSP (View)
Request
Response
19. SAP AG 2002, Title of Presentation, Speaker Name 19
Usage of BeanUsage of BeanUsage of BeanUsage of Bean
Bean
The bean concept - reusable components that can be used in more than one software package - plays an important
role in the portal component development. Portal components can use the beans to store and retrieve data. The
JSP as well as the servlet (JSPDynPage, AbstractPortalComponent, DynPage, Native servlet) have read and write
access to the bean so the bean can be used to transfer data between the JSP and the servlet.
Bean
%JSPDynPage and JSP data exchange using a Bean
%A bean is used to get and set "dynamic" data. The JSPDynPage usually provides the bean with
data and the JSP reads the data. The functionality of the basic example is extended by an input
field that allows user input. The user input is stored in a bean and than displayed as text by a
JSP program.
Following steps are necessary
%create a bean
%initialize the bean
%Access the bean in the JSP program (where bean data is required)
20. SAP AG 2002, Title of Presentation, Speaker Name 20
Usage of BeanUsage of BeanUsage of BeanUsage of Bean
In a JSP page, one can access Java Bean
objects using the tag
<jsp:useBean
id="object name"
scope="application|session|reque
st|page"
class="class name" />
where
" id is the name of the bean object in the compiled JSP
" scope can be
$ application -> the bean is stored in the associated component profile object
$ session -> the bean is stored in the associated HttpSession or
IPortalComponentSession object
$ request -> the bean is stored in the associated HttpServletRequest object
$ page -> the bean is stored in the associated javax.servlet.jsp.PageContext
object
" class is the fully qualified classname of the bean
21. SAP AG 2002, Title of Presentation, Speaker Name 21
JSPDynPageJSPDynPageJSPDynPageJSPDynPage
! JSPDynpage Model
! Usage of Beans
! Example
22. SAP AG 2002, Title of Presentation, Speaker Name 22
ExampleOneExampleOneExampleOneExampleOne
Bean
2) OnSubmit
1) Initial form is displayed
3) Sends info to bean
4) Receives info from bean
5) Renders results
23. SAP AG 2002, Title of Presentation, Speaker Name 23
ExampleOneExampleOneExampleOneExampleOne Parts
processForm.java (extends the JSPDynPage)
" Supplies the logic and calls the required JSP file
" Handles the Event
" Populates the bean with user input
Form.jsp
" GUI Form for the end user to enter data
Result.jsp
" Retrieves the data from the bean
" Displays the data
DynPageNameBean.java
" Allows to “Set” and “Get data
24. SAP AG 2002, Title of Presentation, Speaker Name 24
ExampleOneExampleOneExampleOneExampleOne
Form.jsp
Result.jsp
processForm
(Controller)
DynPageNameBean
25. SAP AG 2002, Title of Presentation, Speaker Name 25
Writing the CodeWriting the CodeWriting the CodeWriting the Code
Note the location of
the JSPs
26. SAP AG 2002, Title of Presentation, Speaker Name 26
Writing the CodeWriting the CodeWriting the CodeWriting the Code Setting VariablesSetting VariablesSetting VariablesSetting Variables
;
Variables defined to
evaluate which JSP
file to process
Variables to store
data
27. SAP AG 2002, Title of Presentation, Speaker Name 27
Writing the CodeWriting the CodeWriting the CodeWriting the Code doInitialization
Sets the variable state to the value of
INITITAL_STATE: Which had a static value of 0.
28. SAP AG 2002, Title of Presentation, Speaker Name 28
Writing the CodeWriting the CodeWriting the CodeWriting the Code doProcessBeforeOutput
=INITIAL_STATE
Default location:
privatepagelet
29. SAP AG 2002, Title of Presentation, Speaker Name 29
Writing the CodeWriting the CodeWriting the CodeWriting the Code Form.JSP
FirstName
LastName
Email
30. SAP AG 2002, Title of Presentation, Speaker Name 30
Writing the CodeWriting the CodeWriting the CodeWriting the Code HTMLB
31. SAP AG 2002, Title of Presentation, Speaker Name 31
Writing the CodeWriting the CodeWriting the CodeWriting the Code Button
32. SAP AG 2002, Title of Presentation, Speaker Name 32
Writing the CodeWriting the CodeWriting the CodeWriting the Code doProcessAfterInput
1
2
3
4
33. SAP AG 2002, Title of Presentation, Speaker Name 33
Writing the CodeWriting the CodeWriting the CodeWriting the Code doProcessBeforeOutput
State=WELCOME_STATE
34. SAP AG 2002, Title of Presentation, Speaker Name 34
Writing the CodeWriting the CodeWriting the CodeWriting the Code Result.JSP
35. SAP AG 2002, Title of Presentation, Speaker Name 35
Writing the CodeWriting the CodeWriting the CodeWriting the Code The Bean
Sent here after the processForm reads
the data inputed by the use and
extracted from the input fields. This
stores the data until it is requested for
either examination or output.
36. SAP AG 2002, Title of Presentation, Speaker Name 36
Writing the CodeWriting the CodeWriting the CodeWriting the Code Profile
37. SAP AG 2002, Title of Presentation, Speaker Name 37
ExampleOne Recap
38. SAP AG 2002, Title of Presentation, Speaker Name 38
Methods for JSP integrationMethods for JSP integrationMethods for JSP integrationMethods for JSP integration
! JSPDynpage
! JSPNative
39. SAP AG 2002, Title of Presentation, Speaker Name 39
JSPNativeJSPNativeJSPNativeJSPNative
Profile
ComponentType=jspnative
JSP=Name of the JSP File
tagLib=/SERVICE/htmlb/taglib/htmlb.tld
ServicesReference=htmlb
&JSPNative:
A Portal Component is simply written as one JSP which is compiled to a Portal
Component at runtime. Set the profile property ComponentType to jspnative
In the .par file, the JSP should be located under privatejsp
(If folder JSP does not exist previously, it needs to be created)
40. SAP AG 2002, Title of Presentation, Speaker Name 40
Using Java Server Pages
Using Resources
Unit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & Internationalization
Internationalization
Re-Using Resources & Classes
41. SAP AG 2002, Title of Presentation, Speaker Name 41
Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
Resources can either be basic resources like applets, scripts, images, static pages or more complex
resources like xml files or even java properties files. If you want to use resources in your Portal component,
you have to declare in your component where to find the resources with the help of methods from the
IResource interface (Portal Runtime API)
Here are some supported resource types and their default scopes & extensions :
SCRIPT (Public) (.js)
STATIC_PAGE (Public) (.html)
APPLET (Public)
IMAGE (Public) (.gif)
JSP (Private) (.jsp)
XML (Private) (.xml)
PROFILE (Private) (.properties)
How to use resources:
Fetch the resource from the IPortalComponentRequest interface. This returns an Iresource object. Now you
can add it to the response by calling the IPortalComponentResponse.addResource(IResource) method.
42. SAP AG 2002, Title of Presentation, Speaker Name 42
Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
Recommended file structure for Resources:
applet*
* Indicates that folder names can be custom names
Where are they stored when .par file is deployed?
Private: %TOMCAT_HOME%webappsirjWEB-INFpluginsportalresources<.par name>
Public: %TOMCAT_HOME%webappsirjresources<.par name>
…
Private
Public
images*
html*
scripts*
profiles
jsp (jspnative approach)
pagelet (JspDynpage approach)
xml*
…
Generated Web URL for Public Resources:
http://localhost:8080/irj/resources/<par file name> /<Folder Name>/<File name>
You can use any folder names for those
under the public folder.
The Generated web url is purely for your
information, you don’t need to know this
as you will be using the iresource
methods as you will see in the following
slides.
43. SAP AG 2002, Title of Presentation, Speaker Name 43
Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
! Using Images & HTML Pages
! Using JavaScript
! Using Applets
! JSP again!
44. SAP AG 2002, Title of Presentation, Speaker Name 44
Images: Under the Public folder, place your images (.gif) in any folder. Let us say we have an image
under the following location:
public
images
garfield.gif
How to access it?
IResource garfield = componentrequest.getResource(IResource.IMAGE,"images/garfield.gif"); or
IResource garfield = componentrequest.getResource(IResource.IMAGE,"images/garfield"); //since default extension is .gif
componentresponse.addResource(garfield);
or
Image logo;
logo=new Image(garfield.getResourceInformation().getURL(req),"Logo");
myForm.addComponent(logo);
HTML: Under the Public folder, place your HTML (.html) in any folder. Let us say we have an HTML
Page under the following location:
public
html
simple.html
Similarly, IResource myhtml= componentrequest.getResource(IResource.STATIC_PAGE,"html/simple.html");
componentresponse.addResource(myhtml);
Using Images & HTML PagesUsing Images & HTML PagesUsing Images & HTML PagesUsing Images & HTML Pages
45. SAP AG 2002, Title of Presentation, Speaker Name 45
Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
! Using Images & HTML Pages
! Using JavaScript
! Using Applets
! JSP again!
46. SAP AG 2002, Title of Presentation, Speaker Name 46
Using JavaScriptUsing JavaScriptUsing JavaScriptUsing JavaScript
Some Methods:
1. Under the Public folder, create a folder say, scripts and place your .js file.
2. Create an HTMLB fragment and add to the class
3. Use <script></script> tags in JSP
Let us say we have a .js file named myscript.js containing a function runme()
IResource jsResource = componentRequest.getResource(IResource.SCRIPT, "script/myscript.js");
componentresponse.addResource(jsResource);
1. .js file in scripts folder
47. SAP AG 2002, Title of Presentation, Speaker Name 47
Using JavaScriptUsing JavaScriptUsing JavaScriptUsing JavaScript
2. Create an HTMLFragment element (HTMLB element)
String frag= new String(" <SCRIPT language=JavaScript>");
frag = frag + " function runme(siteName,userName,pwd){";
frag = frag+…
frag = frag + "}";
frag = frag + "</SCRIPT>";
HTMLFragment hf=new HTMLFragment(frag);//Special container for raw HTML. Note that using this class
//might cause Browser dependencies
myForm.addComponent(hf);
3. Use <script> tags in JSP
<script>
function runme(){
…
}
</script>
48. SAP AG 2002, Title of Presentation, Speaker Name 48
Using JavaScriptUsing JavaScriptUsing JavaScriptUsing JavaScript
If you want to access HTMLB elements via JavaScript, we recommend that you create you HTMLB
elements in JSP and use Method 3
How to invoke the JavaScript function?
Use htmlb elements that have onclient… methods- Button, Link, Drop Down List box
Mybutton.setOnClientClick(“runme()“)
or
via jsp
<hbj:button id=“Mybutton" text="Click!" onClientClick=“runme()"/>
Or
<script>runme();</script>
49. SAP AG 2002, Title of Presentation, Speaker Name 49
Using JavaScriptUsing JavaScriptUsing JavaScriptUsing JavaScript
How to access HTMLB elements?
HTMLB provides access to the HTML IDs that are generated during runtime. After
retrieving the IDs, you can generate your JavaScript by setting the correct IDs at runtime.
% Declare String variables at the start of the JSP that will hold the HTML IDs of the
components you wish to access from JavaScript
% Use a method of the HTMLB com.sapportals.htmlb.rendering.PageContext class:
pageContext.getParamIdForComponent(com.sapportals.htmlb.Component
component). This method returns a String, and this String is the generated ID value
for the given component.
% Write the script and use this generated ID to identify you HTMLB element
% Invoke the script
Example:
<%String compid="";%>
<hbj:inputField id="InputName" type="string" maxlength="100">
<% compid=myContext.getParamIdForComponent(InputName);%>
</hbj:inputField>
<hbj:button id="button1" text="Type&Click!" onClientClick="runme()"/>
Needs to be placed before
</hbj:unputField>, to access
this inputField component
<script>
function runme() {
var myval=document.getElementById('<%=compid%>').value;
alert("You typed: "+myval); }
</script>
50. SAP AG 2002, Title of Presentation, Speaker Name 50
Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
! Using Images & HTML Pages
! Using JavaScript
! Using Applets
! JSP again!
51. SAP AG 2002, Title of Presentation, Speaker Name 51
Using AppletsUsing AppletsUsing AppletsUsing Applets
How to access it?
IResource myapplet= req.getResource(IResource.APPLET,"applet/");
String myurl=myapplet.getResourceInformation().getURL(req);
componentresponse.write("<applet name="ChompText" archive="ChompText.zip" codebase=""+myurl+""
code="ChompText.class" width=250 height=55>");
componentresponse.write("<param name="text" value="Java Boutique">");
componentresponse.write("<param name="textcolor" value="0000FF">");
componentresponse.write("<param name="bgcolor" value="FFFFFF">");
componentresponse.write("</Applet>");
Under the Public folder, place your applet classes (..jar, .zip) in any folder. Let us say we have an applet
ChompText.zip under the following location:
public
applet
ChompText.zip
zz
52. SAP AG 2002, Title of Presentation, Speaker Name 52
Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
! Using Images & HTML Pages
! Using JavaScript
! Using Applets
! JSP again!
53. SAP AG 2002, Title of Presentation, Speaker Name 53
Under the Private folder, place your JSPs (.jsp) in any folder. Let us say we have a jsp under the following
location:
private
jsp
private.jsp
How to access it?
IResource myjsp= componentrequest.getResource(IResource.JSP,"jsp/private.jsp");
componentrequest.dispatchRequest(myjsp,componentresponse);
or
componentresponse.addResource(myjsp);
Using JSPsUsing JSPsUsing JSPsUsing JSPs
Note: JSPs as Web URLS is Not reccommended
54. SAP AG 2002, Title of Presentation, Speaker Name 54
Using Java Server Pages
Using Resources
Unit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & Internationalization
Internationalization
Re-Using Resources & Classes
55. SAP AG 2002, Title of Presentation, Speaker Name 55
ReReReRe----Using Resources & ClassesUsing Resources & ClassesUsing Resources & ClassesUsing Resources & Classes
! Re-Using Resources
! Re-Using Classes
56. SAP AG 2002, Title of Presentation, Speaker Name 56
ReReReRe----Using ResourcesUsing ResourcesUsing ResourcesUsing Resources
You can reuse the resources from an existing .par file. You need to know the
name of the .par file that contains the resources.
You can then get the resource from the componentrequest
Example:
IResource myimage=
componentrequest.getResource(“SimpleExample.default",IResource.IMAGE,"images/SAPPortals_opt2.gif");
componentresponse.addResource(myimage);
57. SAP AG 2002, Title of Presentation, Speaker Name 57
ReReReRe----Using Resources & ClassesUsing Resources & ClassesUsing Resources & ClassesUsing Resources & Classes
! Re-Using Resources
! Re-Using Classes
58. SAP AG 2002, Title of Presentation, Speaker Name 58
ReReReRe----Using ClassesUsing ClassesUsing ClassesUsing Classes
How to re-use existing classes / External Libraries?
Method One
You have some classes (.jar file) in the lib folder of a .par file (A) that you want to use in another .par file (B)
You don't have to package the .jars again in the lib folder.
In the default.properties of the .par file (A) containing the .jar files, make the following entry:
SharingAccess=shared
This determines access to the package using the SharingReference property.
In the default.properties of the .par file (B), make the following entry:
SharingReference= .par file (A) name
This declares references to par file (A). This creates a sharing dependency, which requires that the .par file
(A) be uploaded beforehand in the PDK/Portal. For more than one reference, the list of package names must
be separated by a comma.
59. SAP AG 2002, Title of Presentation, Speaker Name 59
ReReReRe----Using ClassesUsing ClassesUsing ClassesUsing Classes Some More Alternatives
How to re-use existing classes?
Method Two
'Package as a Portal Service (Not in the scope of this class)
Method Three
'Include in class-path (Not Reccomended)
In the PDK, you can copy the .jar files to <Tomcat_home>libapps. This will be loaded by the
Portal runtime.
Migration to Enterprise Portal:
Upload the .par file and create Java iView based on Master. Make sure you add the External
libraries to the Servlet Engine's class-path
Tip for SAPJ2EE Engine
Copy the .jar files to <SAPJ2EE_Home>aloneadditional-lib. Use the Config tool, Click on
"alone" and edit the Java parameters.
Example:
-classpath".;.system-libboot.jar;.system-libjaas.jar;.additional-libyourexternallib.jar;"
This is a good step to follow if you are using any of the libraries in
<SAPJ2EE_Home>aloneadditional-lib.
Disadvantages:
&Extra steps to be performed while migrating to other Enterprise Portals
&Classes are visible for all iViews
&Version conflicts can occur
60. SAP AG 2002, Title of Presentation, Speaker Name 60
Using Java Server Pages
Using Resources
Unit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & InternationalizationUnit: JSPs, Resources & Internationalization
Internationalization
Re-Using Resources & Classes
61. SAP AG 2002, Title of Presentation, Speaker Name 61
InternationalizationInternationalizationInternationalizationInternationalization
! Methodology
! Example
62. SAP AG 2002, Title of Presentation, Speaker Name 62
MethodologyMethodologyMethodologyMethodology
Language support for Java iViews is by use of Java resource bundles. The Java iView runtime
provides API that allow an iView to communicate with the resource bundle containing the text to
display in the iView.
Know the ISO88559-1 Country Codes for language wanted to translate
" Know the languages Enterprise Portal supported
Localization files need to exist under the folder private/classes
For each language wanted to translate a localization_xx.properties file needs to be created
" German: localization_de.properties
" Spanish: localization_es.properties
" Default Language: localization.properties
If you want to name your translation files something else other than localization_xx.properties, there
must be a reference to it in the default.properties file.
Example: ExampleOne_de.properties, ExampleOne_es.properties
Specify localization file name in default.properties
ResourceBundleName=ExampleOne
63. SAP AG 2002, Title of Presentation, Speaker Name 63
MethodologyMethodologyMethodologyMethodology
For Translating Strings
Access the language resource in your code
<% Import java.util.ResourceBundle; %>
<% ResourceBundle res = componentRequest.getResourceBundle();%>
<%Send_Button.setText(res.getString(“button.send"));%>
Sample Entry in localization_de.properties
button.send=Senden
For translating Personalization Parameter Names use the Description attribute
Any String
64. SAP AG 2002, Title of Presentation, Speaker Name 64
Language SettingsLanguage SettingsLanguage SettingsLanguage Settings
To run the iView in a different language in the PDK, the following needs to be done
Locate the file workplace.properties
<Tomcat_Home>webappsirjWEB-INFpluginsportalsystemproperties
Look for
request.mandatorylanguage=en
Remove it this entry (or comment #)
Now restart tomcat.
Change the Language for Internet Explorer (or)
" The language has to be one that is supported by the portal
Change the user locale in Kmusers.properties
Precedence
1. Locale of the PDK (if specified in workplace.properties)
2. Locale of the user (if specified in kMusers.properties)
3. Locale of the client ( [i.e. if set up in (e.g.) IE under Tools/Internet Options/Languages...])
65. SAP AG 2002, Title of Presentation, Speaker Name 65
Language SettingsLanguage SettingsLanguage SettingsLanguage Settings
Forcing a language in PDK
• If the desired effect is for the PDK to be displayed in a particular language regardless of browser settings or user
setting then the
• Workplace.properties
• request.mandatorylanguage=ISO Language requirement
If the entry in workplace.properties is removed:
• Language of Browser
• PDK is displayed initially with this language
• If language not supported, PDK defaults to English
• User Locale
• Language changes based on logged on user’s locale in KMusers.properties
• If no user locale is specified, then browser language is displayed
Example
Browser Setting = Spanish (es)
User Locale= German (de)
Results:
" PDK HomePage= Spanish
User logs on
" PDK = German
" IView = German (If no specific localization file exists for german, the iView runs in the default
localization)
66. SAP AG 2002, Title of Presentation, Speaker Name 66
Forcing PDK Mandatory LanguageForcing PDK Mandatory LanguageForcing PDK Mandatory LanguageForcing PDK Mandatory Language
To change the mandatory language for the PDK,
this needs to be set. Note! It takes precedence
If you want the PDK to render content in the language of the
browser or the language of the user, the variable described here
needs to be commented out
Locate the file workplace.properties
<Tomcat_Home>webappsirjWEB-INFpluginsportalsystemproperties
67. SAP AG 2002, Title of Presentation, Speaker Name 67
User LocaleUser LocaleUser LocaleUser Locale
<Tomcat_Home>webappsirjWEB-INFpluginsportalservicesusermanagementdata
In the kmusers.properties file there is a list of the PDK users
68. SAP AG 2002, Title of Presentation, Speaker Name 68
Language Setting in IELanguage Setting in IELanguage Setting in IELanguage Setting in IE
69. SAP AG 2002, Title of Presentation, Speaker Name 69
InternationalizationInternationalizationInternationalizationInternationalization
! Methodology
! Example
70. SAP AG 2002, Title of Presentation, Speaker Name 70
ExampleExampleExampleExample
Internationalize ExampleOne
" The languages we will use are Spanish, German, English (default)
" We will “Internationalize” the initial form Form.jsp.
$ Labels
$ Text for the button
71. SAP AG 2002, Title of Presentation, Speaker Name 71
ExampleOneExampleOneExampleOneExampleOne Form.jsp
72. SAP AG 2002, Title of Presentation, Speaker Name 72
“Internationalize” Form.jsp:“Internationalize” Form.jsp:“Internationalize” Form.jsp:“Internationalize” Form.jsp: Labels
Use
label_FirstName.setText(res.getString(“label.firstName”))
But you need to place it before the closing tag of <hbj:
label…>
This will be the string we will use in the
localization file
73. SAP AG 2002, Title of Presentation, Speaker Name 73
“Internationalize” Form.jsp:“Internationalize” Form.jsp:“Internationalize” Form.jsp:“Internationalize” Form.jsp: Button
74. SAP AG 2002, Title of Presentation, Speaker Name 74
Localization FilesLocalization FilesLocalization FilesLocalization Files
" First we need to create a localization file (for a default language, say English) named
localization.properties
" Create the localization.properties, localization_xx.properties, under the src folder of
project. When you compile/create .par, the localization file will move to the right location
under private/classes.
75. SAP AG 2002, Title of Presentation, Speaker Name 75
Localization FilesLocalization FilesLocalization FilesLocalization Files
localization.properties
76. SAP AG 2002, Title of Presentation, Speaker Name 76
Localization FilesLocalization FilesLocalization FilesLocalization Files
In order to access a String in German, Spanish and a default representation (say English),
you would have the following structure:
label.firstName=Given Name
label.lastName=Family Name
label.email= Rapid Mail
button.send=Fire it off!
label.firstName=Vorname
label.lastName=Nachname
label.email= e-mail Adresse
button.send=Senden
label.firstName=il primo nome
label.lastName=l'ultimo nome
label.email= correo electrónico
button.send=mande
77. SAP AG 2002, Title of Presentation, Speaker Name 77
SummarySummarySummarySummary
You now know:
! Different methods to Integrate JSPs
! How to use resources such as JavaScripts, HTML & Applets
! How to re-use resources and classes
! How to use Language resource bundles to perform Internationalization
78. SAP AG 2002, Title of Presentation, Speaker Name 78
" 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®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® 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®,
Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries.
" ORACLE® is a registered trademark of ORACLE Corporation.
" UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.
" Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and
other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
" HTML, DHTML, XML, XHTML 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.
" MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
" SAP, SAP Logo, R/2, R/3, mySAP, mySAP.com 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 trademarks of their respective
companies.
Copyright 2002 SAP AG. All Rights Reserved